There is a WCF service in my project. It's referencing another assembly with service contract interface. Everything worked well until I signed reference with contract using key and made changes into the contract and service.
After rebuild i started getting such exception: Method XXX in type YYY from assembly ZZZ does not have an implementation.
Seems that service is using the old dll with a contract but can't find the reason why. When i look through the generated dlls using reflector - there is no old code - signature of contract and service are identical. If i remove signing from the contract - everything works perfect.
In test purposes service is working under Cassini web server. Also tried to run it under IIS. My previous solution - was to delete ASP.NET temporary files. Now it doesn't help.
The reference with contract is signed for sharepoint needs. The error also disappears if i remove this reference from GAC. But why service project is looking for this dll in GAC? Is there a workaround?
Agradecería cualquier sugerencia.
preguntado el 28 de agosto de 12 a las 11:08
That's the feature of CLR. If assembly is strong named - CLR will search for it in GAC. So in my case - i should keep correct version of my DLL in GAC or remove it from there.