我正在签署.NET程序集地狱。
我有一个针对签名的程序集A,版本1.1( SA 1.1.1 )编译的应用程序。在某些系统上,我已经有 SA 1.1.2
是否可以在重定向中表达这一点?
SA 1.1.1 binds to
SA 1.1.1 OR
SA 1.1.2
只是为了提醒你这样的事情:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
答案 0 :(得分:1)
<击>使用击>
<击> oldVersion="1.0.0.0-2.0.0.0"
注意表示范围的短划线。
对不起,以为你是反过来了。
我认为这不可能。
但是你可以做几件事。如果您在GAC中同时拥有这两个版本,则只需绑定到应用程序中所需的版本即可。即需要绑定到1.1.1的应用程序可以指定该版本。需要1.1.2的应用程序可以指定绑定。否则,我认为最安全的是针对所有应用程序针对1.1.1或1.1.2进行编译。
或者,最后但并非最不重要的是,取消签名并对未签名的版本进行编译,然后将获取具有您指定的“友好”名称的任何程序集。