Как выполнить код, сгенерированный 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);