Я пытаюсь настроить перенаправление привязки сборки, используя следующий app.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>
Я запускаю программу на компьютере с версией 9.0.242.0 в GAC, суказанный токен открытого ключа.CLR, похоже, даже не пытается перенаправить привязку для использования этой версии.
Вот что я получаю в 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.
Когда я попытался поместить dll версии 9.0.242.0 в путь исследования, я получил это вместо:
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.
Обратите внимание, что я также пытался изменить перенаправление на использование "9.0.242.0"вместо" 9.0.0.0 "в app.config, и это не сработало, хотя я не думаю, что это должно иметь какое-либо значение.
Из того, что я понимаю, весь смысл перенаправления привязки заключается виспользовать версию, которая не соответствует той, с которой была построена программа.Я что-то здесь упускаю?Возможно ли то, что я пытаюсь сделать, и если да, есть ли какая-то идея, почему это не работает?
Приветствия, Адам