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?
Would appreciate any suggestions.
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.