我试图找出版本重定向的问题已经过了几天,但我很难失败。情况如下:
如果所有内容都是使用相同版本构建的 - 假设版本为2.0.0.0 - 毫不奇怪:一切正常,app.exe可以启动。
现在我更改了assembly_1.dll的版本,现在版本为1.0.0.0。如果没有重定向,则无法启动app.exe,因为找不到assembly_1.dll版本2.0.0.0。所以我添加了app.config.exe:
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="assembly_1"
publicKeyToken="1234123412341234" />
<bindingRedirect oldVersion="0.0.0.0-99.99.99.99" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
令人惊讶的是app.exe仍然无法启动,即使现在应该将assembly_1的版本视为2.0.0.0。
当重定向assembly_2时,app.exe可以启动时突然发生了意外(assembly_3的重定向似乎没用了?!)。
有人可以指出这种行为涉及的过程吗?是否有某种自动绑定?
此致 戴维