What is Microsoft.csharp.dll in .NET 4.0

anon picture anon · Mar 17, 2010 · Viewed 47.6k times · Source

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.

Answer

adrianbanks picture adrianbanks · Mar 17, 2010

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.