为什么我不能向引用的程序集添加一些程序集

时间:2012-04-30 14:47:51

标签: c# assemblies

使用代码:

 CompilerParameters parameters = new CompilerParameters();
 parameters.ReferencedAssemblies.Add("System.dll");
 parameters.ReferencedAssemblies.Add("System.Windows.Forms.dll");

到目前为止,它很好并且它可以工作,我可以运行我给它的代码,但是如果我添加这些程序集:

    //parameters.ReferencedAssemblies.Add("System.Text.dll");
    //parameters.ReferencedAssemblies.Add("System.Linq.dll");

在运行时它给我一个错误说:

  

无法找到元数据文件“System.Text”。

那我在这里做错了什么?

1 个答案:

答案 0 :(得分:6)

没有System.TextSystem.Linq 程序集名称空间被称为,但它完全不同。

LINQ在System.Core.dll中实现;你可以看到这个,例如在System.Linq.Enumerable的文档中:

  

命名空间:System.Linq

     

汇编:System.Core(在System.Core.dll

要找出需要引用的程序集,只需浏览您感兴趣的类型的文档,然后查看程序集实现它们的内容。由于.NET库开发人员重视一致性,您会发现命名空间完全在同一个程序集中实现(至少 I 不知道任何异常)。