Как выполнить код, сгенерированный codeDom?

Я только что сгенерировал файл.cs, используя codeDom. Может кто-нибудь объяснить, как мне это выполнить?

2 ответа

Решение

Это не так просто. Смотрите здесь для начинающих. По сути, CodeDom поддерживает такие сценарии, как генерация кода и динамическая компиляция. Таким образом, файлы.cs, созданные с помощью CodeDom, не являются исполняемыми файлами в обычном смысле.

Приведенный ниже код позволит вам скомпилировать код с использованием кодировки, а затем вы сможете показать пользователю, правильно ли скомпилирован код или нет. Это даже создает DLL, а также.

Спасибо алекс

// Store provider from the method into a object, Default is CSharpCodeProvider**
CodeDomProvider provider = this.GetCurrentProvider();

// Configure a CompilerParameters that links System.dll**
String[] referenceAssemblies = { "System.dll", "System.Data.Linq.dll", "System.Web.dll","System.XML.dll","System.ComponentModel.DataAnnotations.dll", "System.Data.dll", _mvcLocation };

CompilerParameters cp = new CompilerParameters(referenceAssemblies, this.fileLocation + this.fileName + ".dll", false);

// Generate an executable rather than a DLL file.**

cp.GenerateExecutable = true;

// Invoke compilation.**
CompilerResults _results = provider.CompileAssemblyFromFile(cp, this.fileLocation + this.fileName + "." + this.extention);
Другие вопросы по тегам