【发布时间】:2013-09-09 10:21:34
【问题描述】:
我正在尝试重定向特定的.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?
【问题讨论】:
标签: gac policy gacutil global-assembly-cache publisher-policy