【问题标题】:What is Microsoft.csharp.dll in .NET 4.0.NET 4.0 中的 Microsoft.csharp.dll 是什么
【发布时间】:2011-01-28 11:41:51
【问题描述】:

此 DLL 默认添加到 Visual Studio 2010 项目中。这个新组件是做什么用的?用 Reflector 看了之后好像没什么内容,Google 也似乎没什么好说的。

【问题讨论】:

标签: .net visual-studio-2010 visual-studio c#-4.0 .net-4.0


【解决方案1】:

当/如果您在项目中使用dynamic keyword 时使用它。程序集包含 C# 运行时绑定程序。

C# 编译器本质上已被提取到一个库中,以便它可以发出、编译和运行支持dynamic 关键字所需的代码。当您第一次在代码中使用 dynamic 时,此程序集(以及 System.dll、System.Core.dll 和 System.Dynamic.dll)将被加载到您的 AppDomain 中。

【讨论】:

  • 您是否愿意推测一下他们为什么选择默认引用它?我们是否应该比现在更多地使用dynamic(即从不)?
  • @mo 类似于它们自动将using System.Linq; 添加到所有文件的方式。它只是使新的语言功能更加无缝。如果您想使用dynamic,它就可以轻松工作。
【解决方案2】:

到目前为止总是删除它。还没有问题。

【讨论】:

  • 如果你的项目不使用dynamic关键字,我想把.csproj文件中<Reference Include="Microsoft.CSharp" />这行去掉就可以了。
  • 感谢 TomTom 和@Cheeso。我试图构建一个 .dll(框架设置为 3.5)以与 Unity 一起使用,然后从 .csproj 文件中删除它就可以了。
  • 这个“答案”更适合作为问题下方的评论。虽然它提出了一种解决方法,但它实际上并没有回答新程序集的用途这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多