C#,共享程序集,发布者策略不起作用,MS VS .NET 2013

时间:2015-07-21 19:22:23

标签: c#

我无法弄清楚如何正确使用发布商政策,而且我似乎有一个与以下相关的类似问题:

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吗?

请帮助我解决这个问题,因为我已经尝试了很多这样的事情,但我无法让它发挥作用。

0 个答案:

没有答案