Как мне разрешить моей .net программе компилировать код C # во время работы? - PullRequest
4 голосов
/ 14 января 2009

Я видел пару приложений .net, которые позволяют вам выбрать исходный файл C # .cs, и сама программа скомпилирует этот код и запустит его.

Как это сделать?

Ответы [ 4 ]

11 голосов
/ 14 января 2009

Вероятно, он использует класс CSharpCodeProvider в пространстве имен Microsoft.CSharp. Вы хотели бы взглянуть на следующие методы для компиляции кода:

CompileAssemblyFromDom
CompileAssemblyFromFile
CompileAssemblyFromSource
2 голосов
/ 14 января 2009

CodeDOM твой друг

1 голос
/ 14 января 2009

В MSDN есть большая серия статей, объясняющих это ...

http://msdn.microsoft.com/en-us/library/650ax5cx.aspx

0 голосов
/ 14 января 2009

Я предполагаю, что явно вызывал компилятор csc.exe. Помните, что эта и любые зависимости должны быть включены в ваше развертывание.

Вы можете взглянуть на CS-Script , который интерпретирует файлы C #. Это бесплатные, но не открытые источники, хотя ...

...