我有以下问题,将尝试尽快描述它。
在我的程序中,可以通过单击按钮将 winform 编译为 .exe。
现在我尝试用 CodeDom 来做,所以在我的程序中有以下行:
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, text);
其中 codeProvider 是 CodeDomProvider,text 是编译源。
问题是我需要保存的 winform,因为 .exe 背后有一个使用其他类和形式的类,并且由于参数“text”是一个字符串参数,它必须包含所有这些类,这导致大量的代码,更不用说很多错误了。 Here这是我的意思的一个例子。
肯定还有其他方法,问题是,它们是什么?提前致谢!
最佳答案
如果您总是使用同一组类,则值得将这些通用类放在类库中,并从动态编译的代码中引用它们。
如果它们在每种情况下都不相同,则很难看到您期望的改进 - 如果必须编译那么多代码,就必须编译,并且有那么多代码可以可能有错误。
关于c# - visual studio 2010 c# winforms运行时编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617561/