Using Visual Studio 2005 to debug Mono assemblies
Instead of referencing Microsoft assemblies (for example, System.ServiceModel.dll) within your project, you must use Mono ones. By default, it lets you build successfully, but once running, if the assembly was signed (by default it is) CLR will load Microsoft one, as it checks there is other named equal and signed installed on the Microsoft GAC.
In order to avoid this behavior, you must modify (based on the example):
- System.ServiceModel/Makefile, specifying not to sign the assembly after the build (NO_SIGN_ASSEMBLY = yes), and
- System.ServiceModel/Assembly/AssemblyInfo.cs, commenting AssemblyKeyFile line
Once done, build again the assembly and reference it within your project. It's very useful for running NUnit tests against Microsoft/Mono assemblies.


