Apropos, ich bin mir nicht mehr sicher, aber die erstellten Programme sind dann ja sowieso Windows oder nicht?
Dann lern n bissl c# und lad dir visual studio express herunter.
Mittels C#-CodeProvider kannst du Code @ Runtime kompillieren, dh. du musst nicht mal einen Compiler mitgeben, der ist schon enthalten im .Net Framework(Fast jeder Windows PC hat .Net Framework).
Und das ist dazu noch ziemlich einfach.
msdn.microsoft.com/en-us/libra…p.csharpcodeprovider.aspx
Alles anzeigen
Erstellste einfach eine .Net Konsolen Applikation, rufst die von irgendwo automatisch auf, und die kompiliert dann deinen C# Code.
WinForms und Wpf und alles andere alles möglich ohne Einschränkung.
Man muss sich dennoch damit befassen.
Und Win32 Steuerelemente bringst du nicht einfach, unaufwändig oder simpel ein, zumindest nicht, wenn die auch nur ein wenig Funktionalität haben sollen. Du musst da schon ein ganzes kleines Framework drum rum basteln...
Dann lern n bissl c# und lad dir visual studio express herunter.
Mittels C#-CodeProvider kannst du Code @ Runtime kompillieren, dh. du musst nicht mal einen Compiler mitgeben, der ist schon enthalten im .Net Framework(Fast jeder Windows PC hat .Net Framework).
Und das ist dazu noch ziemlich einfach.
msdn.microsoft.com/en-us/libra…p.csharpcodeprovider.aspx
Quellcode
- public static bool CompileExecutable(String sourceName)
- {
- FileInfo sourceFile = new FileInfo(sourceName);
- CodeDomProvider provider = null;
- bool compileOk = false;
- // Select the code provider based on the input file extension.
- if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".CS")
- {
- provider = CodeDomProvider.CreateProvider("CSharp");
- }
- else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".VB")
- {
- provider = CodeDomProvider.CreateProvider("VisualBasic");
- }
- else
- {
- Console.WriteLine("Source file must have a .cs or .vb extension");
- }
- if (provider != null)
- {
- // Format the executable file name.
- // Build the output assembly path using the current directory
- // and <source>_cs.exe or <source>_vb.exe.
- String exeName = String.Format(@"{0}\{1}.exe",
- System.Environment.CurrentDirectory,
- sourceFile.Name.Replace(".", "_"));
- CompilerParameters cp = new CompilerParameters();
- // Generate an executable instead of
- // a class library.
- cp.GenerateExecutable = true;
- // Specify the assembly file name to generate.
- cp.OutputAssembly = exeName;
- // Save the assembly as a physical file.
- cp.GenerateInMemory = false;
- // Set whether to treat all warnings as errors.
- cp.TreatWarningsAsErrors = false;
- // Invoke compilation of the source file.
- CompilerResults cr = provider.CompileAssemblyFromFile(cp,
- sourceName);
- if(cr.Errors.Count > 0)
- {
- // Display compilation errors.
- Console.WriteLine("Errors building {0} into {1}",
- sourceName, cr.PathToAssembly);
- foreach(CompilerError ce in cr.Errors)
- {
- Console.WriteLine(" {0}", ce.ToString());
- Console.WriteLine();
- }
- }
- else
- {
- // Display a successful compilation message.
- Console.WriteLine("Source {0} built into {1} successfully.",
- sourceName, cr.PathToAssembly);
- }
- // Return the results of the compilation.
- if (cr.Errors.Count > 0)
- {
- compileOk = false;
- }
- else
- {
- compileOk = true;
- }
- }
- return compileOk;
- }
Erstellste einfach eine .Net Konsolen Applikation, rufst die von irgendwo automatisch auf, und die kompiliert dann deinen C# Code.
WinForms und Wpf und alles andere alles möglich ohne Einschränkung.
Man muss sich dennoch damit befassen.
Und Win32 Steuerelemente bringst du nicht einfach, unaufwändig oder simpel ein, zumindest nicht, wenn die auch nur ein wenig Funktionalität haben sollen. Du musst da schon ein ganzes kleines Framework drum rum basteln...
"das war meine letzte flamewar PM an dich ."