什么是.NET 4.0中的Microsoft.csharp.dll


Answers:


193

当/如果您在项目中使用dynamic关键字,则使用它。该程序集包含C#运行时绑定程序。

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


3
您是否愿意推测为什么他们默认选择引用它?我们所有人都应该dynamic比现在使用更多(即从不)吗?
莫。

4
@mo类似于它们自动添加using System.Linq;到所有文件的方式。它只是使新的语言功能更加无缝。如果您想使用dynamic,那么它就可以毫不费力地工作。
Matt Greer 2013年

16

始终将其移除。还没有问题。


13
如果您的项目不使用dynamic关键字,那么我想可以删除<Reference Include="Microsoft.CSharp" /> .csproj文件中的行。
Cheeso 2011年

谢谢TomTom和@Cheeso。我试图构建一个可与Unity一起使用的.dll(框架设置为3.5),然后将其从.csproj文件中删除就可以了。
Wolfram

4
此“答案”更适合作为问题下方的注释。尽管它提出了一种解决方法,但实际上并没有回答新程序集的用途问题。
toonice '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.