假设我想编写一个小程序,我们可以给它一个.CS文件,它可以为我们编译并说出是否有编译错误。所以我为此使用了CodeDom。 当我想要使用CodeDOM时,我必须添加这些DLL名称,以便我可以在运行时加载它们。 是这样的:我们是否真的需要硬编码的DLL
CompilerParameters parameters = new CompilerParameters();
parameters.ReferencedAssemblies.Add("System.dll");
parameters.ReferencedAssemblies.Add("System.Windows.Forms.dll");
但也存在一些问题,这种做法: 我如何确保我已经imcluded所有必要的DLL? 是唯一的方法吗?有没有更好的方法,而不是像这样添加这些DLL?
谢谢。
使用从文件中读取的DLL名称?你能解释一下吗?谢谢。 – Bohn
.CS文件的作者可能还会在第二个文件中提供一个DLL列表,每行一个。您的程序可以读取该文件,并在读取每行后,将读取的字符串传递给“Add()”的调用。 –
哦,我看到了...仍然像是输入它们......是的,它并不是很难在源代码中编码......但仍然难以在文本文件中的其他地方编码......想知道我们是否可以分析源代码通过一些Reflection Magic的代码,找出需要什么DLLS并在运行时添加这些代码? – Bohn