我无法弄清楚如何正确使用发布商政策,而且我似乎有一个与以下相关的类似问题:
How to make Publisher Policy file redirect assembly request
我在版本“1.0.0.0”中创建了名为“SharedAssembly.dll”的共享版本,然后在版本“2.0.0.0”中创建了。两者都在GAC中安装(MSIL_GAC,目标是.NET Framework 4.5)。
我创建了以下发布商政策文件* .xml(重定向到旧版本“1.0.0.0”是故意行为):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity
name="SharedAssembly"
publicKeyToken="89f6ea550599ca14"
culture="neutral"/>
<bindingRedirect oldVersion="2.0.0.0"
newVersion="1.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
然后我使用以下命令创建了发布者策略程序集:
al /link:App.config /out:policy.2.0.SharedAssembly.dll /keyf:F:\VisualStudio\klucz.snk /v:1.0.0.0 /platform:anycpu
当然,我已将其安装到GAC中。
然后我创建了一个新的控制台应用程序,我添加了对“SharedAssembly.dll”的引用,但它不起作用:(
它仍然与我的共享程序集的2.0.0.0版本连接。
我尝试了许多建议,例如使用fuslogvw.exe(没有显示错误),摆脱“culture”属性等,但它没有帮助。
我认为问题不在于我想指向旧版本的.dll吗?
请帮助我解决这个问题,因为我已经尝试了很多这样的事情,但我无法让它发挥作用。