What is Microsoft.csharp.dll in .NET 4.0

2019-01-21 21:03发布

问题:

This DLL is added by default in Visual Studio 2010 projects. What is this new assembly used for? It does not seem to contain much after looking at it using Reflector and Google does not seem to have much to say about it either.

回答1:

It is used when/if you use the dynamic keyword in your project. The assembly contains the C# runtime binder.

The C# compiler has essentially been extracted out into a library so that it can emit, compile and run code needed to support the dynamic keyword. The first time you use dynamic in your code, this assembly (as well as System.dll, System.Core.dll and System.Dynamic.dll) will get loaded into your AppDomain.



回答2:

Always removed it so far. No issues yet.