我正在尝试重定向一个特定.dll
的,我们称之为MyAssembly.dll
。此程序集有两个版本:
MyAssembly.dll version 1.0.0.0
和
MyAssembly.dll version 1.1.0.0
我希望这两个程序集重定向到它的第三个版本:1.2.0.0
. 为此,我编写了这个.config
文件来构建Publisher Policy
要在 GAC 上应用的文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MyAssembly" publicKeyToken="myPublicKeyToken" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.2.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
有了这个,我创建了适当的.config
文件来生成策略。但是当我想创建Policy
.
在下一步之前注意:程序集版本控制的工作方式如下:
<major version>.<minor version>.<build number>.<revision>
第一次我想创建一个策略时,我意识到,如果我要重定向的程序集版本是:1.0.0.0
我必须创建一个匹配的策略,如下所示:
Policy.<majorversion>.<minorversion>.<AssemblyName>.dll
有了这个,我可以将任何MyAssembly.dll
从 1.0.* 重定向到 1.1 版。
但是,如果我想重定向多个程序集,我该如何生成该策略,就像我上面解释的那样?我的保单应该是什么样子?
如果我有两个程序集:
1.0.0.0 - 1.1.0.0
我该如何构建PublisherPolicy
?