Nothing you can do at the moment. I doubt we can escape a dependency on it.
Despite the name, upon reflection (with Reflector) it doesn't appear that CSharp.dll has much to do with C# per se. You become dependent upon it the moment you take advantage of the "dynamic" keyword and runtime compilation via C#.
You'll get an error complaining about its absence if you have an assembly with out it (and without DevForce, which pulls it in implicitly) ... an error such as:
One or more types required to compile a dynamic expression cannot be found. Are you missing references to Microsoft.CSharp.dll and System.Core.dll?
I'll bet if you used Dynamic in a VB app you'd find yourself dependent upon it too.
Dynamic is a mighty powerful tool ... although the 1/2 Meg price tag does seem steep.
At least Microsoft.VisualBasic.dll supports VB-specific functionality.
For those who don't know, Microsoft.CSharp.dll is in the Silverlight SDK. On a 32 bit machine the location would be C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Client.
Edited by WardBell - 28-Apr-2010 at 3:51pm