Witam.

Mam następujący problem: chciałem przećwiczyć wykorzystywanie publisher policy file dla mojego pakietu dzielonego o nazwie SharedAssembly.dll i niestety nie bardzo mi to działa.

Przede wszystkim:

  1. mam w GAC zainstalowane dwie wersje "SharedAssembly.dll" - "1.0.0.0" oraz "2.0.0.0",
  2. przygotowałem plik publisher.xml (tak wiem, że z nowszej wersji chce przejść na starszą, ale to celowo):
 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity 
          name="SharedAssembly"
          publicKeyToken="89f6ea550599ca14"
          culture="neutral"/>
          <bindingRedirect oldVersion="2.0.0.0"
                         newVersion="1.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
  1. utworzyłem publisher policy assembly komendą:
    al /link:publisher.xml /out:police.1.0.SharedAssembly.dll /keyf\VisualStudio\klucz.snk /platform:anycpu i zainstalowałem go w GAC,
  2. stworzyłem nowy projekt, podpiąłem do biblioteki "SharedAssembly.dll" i po kompilacji używa on tej w wersji 2.0.0.0

Co mogę robić źle?