> Hi Thanks for ur reply. > > But I just want to clarify one thing. That I am not trying to > redirect the > client from one version of my own assembly to any other version of my > assembly. > > What I am trying to do is have all the system assemblies (i.e > the ones my > assembly is dependent upon) run in v1.0 runtime.
Oh, I get it. Then publisher policy isn't the way to go about it. The only person (or entity) that can deploy a publisher policy assembly to redirect assembly versions is the person/entity in possession of the private key used to sign the target assembly. Since you don't (presumably :-) have possession of the private key used to sign MSFT's assemblies, you can't deploy a publisher policy assembly that does version redirects for them. Only Microsoft can. So all of the other binding redirects in your embedded config file are being ignored - the only thing the assembly resolver will pay attention to are binding redirects matching the public key token of your pubsassembly.dll. IOW, the sequence of events (roughly speaking) is: * a request to load a version of a strongly named assembly happens * GAC is searched for policy assembly signed with the same key * contents of embedded config file scanned for binding redirect with same key So when pubsassembly.dll is loaded, the associated policy assembly for it will be consulted, and the binding redirect(s) inside that match the same key will be honored. But when system.data.dll is loaded, the GAC is scanned for a policy assembly matching the key system.data.dll was signed with (which doesn't exist). So your policy assembly doesn't even come into the picture, which is what I think you were hoping. You'll have to resort to using the application's configuration file to do the redirection you're attempting. -Mike DevelopMentor http://staff.develop.com/woodring
