【问题标题】:.Net Publisher Policy: Both Assemblies required to be in the GAC?.Net 发布者政策:两个大会都必须在 GAC 中?
【发布时间】:2011-10-11 13:51:12
【问题描述】:

我在How to: Create a Publisher Policy 之后创建了一个发布者策略程序集。该策略将程序集从版本 1.0.0.0 重定向到版本 2.0.0.0。

只要旧程序集 (v1.0.0.0) 位于服务器上(在 GAC 中),这对我来说确实有效。是否可以从服务器中删除旧的程序集版本?

我使用的配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="Assembly.Name"
                           publicKeyToken="d24d3f23b4455982"
                           culture="neutral" />

         <bindingRedirect oldVersion="1.0.0.0"
                          newVersion="2.0.0.0"/>
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

【问题讨论】:

  • 为什么要删除它?
  • 删除不再需要的内容?一种对清洁的狂热。这不是绝对需要的。我想知道这是否可能。
  • 鸡和蛋的问题,我想。不先找到程序集就找不到策略文件。
  • @Stefan,所以当您删除旧组件时它会停止工作?奇怪的是,如果程序集加载过程如 Richter 在他的 CLR 中通过 C# 描述的那样,它应该可以工作。但基本上你不应该删除旧版本。例如,这样您就可以在每个应用程序的基础上禁用发布者策略(通过将&lt;publisherPolicy apply="no" /&gt; 添加到其配置中)...
  • @Dmitry,感谢您的建议。我现在正在仔细检查设置。

标签: c# .net gac


【解决方案1】:

真丢脸。我对汇编版本搞砸了。所以答案是:是的,它可以在没有旧程序集的情况下工作。

【讨论】:

    猜你喜欢
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2017-09-07
    • 2012-07-03
    • 2021-06-05
    • 1970-01-01
    • 2018-06-28
    相关资源
    最近更新 更多