随着代码:
CompilerParameters parameters = new CompilerParameters();
parameters.ReferencedAssemblies.Add("System.dll");
parameters.ReferencedAssemblies.Add("System.Windows.Forms.dll");
Run Code Online (Sandbox Code Playgroud)
到目前为止,它是好的,它的工作原理,我可以运行我给它的代码,但如果我添加这些程序集:
//parameters.ReferencedAssemblies.Add("System.Text.dll");
//parameters.ReferencedAssemblies.Add("System.Linq.dll");
Run Code Online (Sandbox Code Playgroud)
在运行时它给我一个错误说:
找不到元数据文件"System.Text".
那么我在这里做错了什么?
没有System.Text和System.Linq 集会.有一些名称空间被称为,但它完全是另一回事.
LINQ实现于System.Core.dll; 你可以在文档中看到这个System.Linq.Enumerable:
命名空间:
System.Linq大会:(
System.Core在System.Core.dll)
要找出需要引用的程序集,只需浏览您感兴趣的类型的文档,然后查看程序集实现它们的内容.由于.NET库开发人员重视一致性,您会发现命名空间完全在同一个程序集中实现(至少我不知道任何异常).