De liaison d'Assembly de redirection ne fonctionne pas

Je suis en train de configurer un assembly de redirection de liaison, à l'aide de l'application suivante.config:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.AnalysisServices"
                          PublicKeyToken="89845dcd8080cc91" />
        <bindingRedirect oldVersion="10.0.0.0"
                         newVersion="9.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Je suis l'exécution du programme sur un ordinateur avec la version 9.0.242.0 dans le GAC, avec le jeton de clé publique. Le CLR ne semble pas être à même d'essayer de rediriger la liaison à utiliser cette version si.

Voici ce que je reçois dans fuslogvw.exe:


LOG: This bind starts in default load context.
LOG: Using application configuration file: \Debug\AssemblyRedirectPOC.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Microsoft.AnalysisServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL /Debug/Microsoft.AnalysisServices.DLL.
LOG: Attempting download of new URL /Debug/Microsoft.AnalysisServices/Microsoft.AnalysisServices.DLL.
LOG: Attempting download of new URL /Debug/Microsoft.AnalysisServices.EXE.
LOG: Attempting download of new URL /Debug/Microsoft.AnalysisServices/Microsoft.AnalysisServices.EXE.
LOG: All probing URLs attempted and failed.

Quand j'ai essayé de mettre le 9.0.242.0 version de la dll dans la sonde de chemin, j'obtiens ceci à la place:


LOG: Assembly download was successful. Attempting setup of file: \Debug\Microsoft.AnalysisServices.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: Microsoft.AnalysisServices, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

Noter que j'ai aussi essayé de changer la redirection d'utiliser "9.0.242.0" au lieu de "9.0.0.0" dans l'app.config et cela ne fonctionne pas, bien que je ne pense pas qu'il devrait faire aucune différence.

De ce que je comprends le point de l'ensemble de la redirection de liaison est d'utiliser une version qui ne correspond pas à celui qui le programme a été construit avec. Suis-je complètement à côté de quelque chose ici? Est ce que je suis en train de faire est possible, et si oui, une idée de pourquoi ça ne marche pas?

Cheers,
Adam

InformationsquelleAutor Adam | 2010-08-16