Страницы

Поиск по вопросам

понедельник, 24 декабря 2018 г.

Приложение создающее другое приложение

Приветствую. Не знаю в какую сторону копать и возможно ли такое вообще. Суть задачи такова : есть приложение написанное на c# в windowsforms. В приложении пользователь задает некоторые параметры, указывает пути к картинке ect и после выполнения всех настроек родительское приложение собирает в папке рядом с собой еще одно exe программу но значительно урезанную согласно установкам пользователя. Можно ли такое сделать если да то в какую сторону рыть, чем гугол мучать ?


Ответ

Нашел небольшой пример по теме. Если кому будет интересно вот код с динамической компиляцией (exe создается из exe) :
using System; using System.CodeDom.Compiler; using System.Collections.Generic; using Microsoft.CSharp;
namespace ConsoleCompiler { internal class Program { private static void Main(string[] args) { // Source code для компиляции string source = @" namespace Foo { public class Bar { static void Main(string[] args) { Bar.SayHello(); System.Console.ReadKey(); }
public static void SayHello() { System.Console.WriteLine(""Hello World""); } } }";
// Настройки компиляции Dictionary providerOptions = new Dictionary { {"CompilerVersion", "v3.5"} }; CSharpCodeProvider provider = new CSharpCodeProvider(providerOptions); CompilerParameters compilerParams = new CompilerParameters { OutputAssembly = "D:\\Foo.EXE", GenerateExecutable = true };
// Компиляция CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source);
// Выводим информацию об ошибках Console.WriteLine("Number of Errors: {0}", results.Errors.Count); foreach (CompilerError err in results.Errors) { Console.WriteLine("ERROR {0}", err.ErrorText); } Console.ReadKey(); } } }
Сам вопрос можно закрывать.

Комментариев нет:

Отправить комментарий