.Net 发布者政策:两个大会都必须在 GAC 中?
Posted
技术标签:
【中文标题】.Net 发布者政策:两个大会都必须在 GAC 中?【英文标题】:.Net Publisher Policy: Both Assemblies required to be in the 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# 描述的那样,它应该可以工作。但基本上你不应该删除旧版本。例如,这样您就可以在每个应用程序的基础上禁用发布者策略(通过将<publisherPolicy apply="no" />
添加到其配置中)...
@Dmitry,感谢您的建议。我现在正在仔细检查设置。
【参考方案1】:
真丢脸。我对汇编版本搞砸了。所以答案是:是的,它可以在没有旧程序集的情况下工作。
【讨论】:
以上是关于.Net 发布者政策:两个大会都必须在 GAC 中?的主要内容,如果未能解决你的问题,请参考以下文章
.NET 4.0 DataAnnotations GAC/EntityFramework 冲突