Problem: Your application throws a TypeLoadException whenever you attempt to access or instantiate a proxy. It happens no matter which proxy you attempt to access.

This problem is often caused by two assemblies with the same name, particularly if your application and the proxy assembly both have the same name. For example, if your application is x.exe, and your proxy assembly is x.dll, you will get this problem. The solution is to re-generate the proxy assembly with a different name. It's not sufficient simply to rename the proxy dll file; the name is also stored internally, and simply changing the name of the file will cause a different error.