@PashaKrizskiy

Как в C# программно скомпилировать проект?

Возникла следующая задача: необходимо из программы на C# компилить проект (один или несколько файлов .cs), который находится в определенной директории. Нашел такое решение:
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
CompilerResults results = icc.CompileAssemblyFromSource(parameters,SourceString);


Где SourceString - строка, представляющая собой исходный код. Собственно, можно последовательно все файлы считать в одну строковую переменную, и затем передать ее в SourceString, однако, может быть есть более изящные решения либо готовые реализации? Просто смущает то, что все исходники запихиваются в один string, что не есть хорошо
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
Можно непосредственно с csc.exe работать, передавая ему список файлов для компиляции, а если требуется именно проекты VS компилировать, с ресурсами и т.д., то и смотреть нужно архитектуру VS, в частности MSBuild, а также ее API, которые используются в плагинах для VS.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы