I am facing problems in creating assemblies from global dlls, which are redirected to particular version by publisher policy binding. Following is the exact scenario:
1) I have a set of dlls that is deployed in GAC. These dlls are chain of dlls referencing each other.
2) A seperate caller dll. We want to create assembly of this dll. This dll uses the global dlls.
3) Created assemblies and stored procedure from the caller dll successfully.
4) Modify the shared dll and redirect its version to latest through publisher binding policy.
5) Drop the sql server assembly and try to recreate it. This gives error
Assembly 'SMSPTED2' references assembly 'smhtmlparser, version=188.8.131.52, culture=neutral, publickeytoken=4c52148b4fb034d1.', which is not present in the current database. SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from, but that operation has failed (reason: version, culture or public key mismatch). Please load the referenced assembly into the current database and retry your request.
I have other desktop applications that are also using these global dlls and they are working fine in this scenario.
If I compile all the dlls and re-deploy them into GAC, then it creates the SQL assemblies successfully.
I want to deploy the global dlls on many machines and it is not possible to compile each dll every time.
I have googled it but found nothing about that. Is there any solution to this problem?