.net – Microsoft.csharp.dll in .NET 4.0

.net-4.0c#-4.0netvisual studiovisual studio 2010

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.

Best Answer

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.