对Publisher策略文件中的.NET绑定重定向进行故障排除

时间:2017-12-04 18:44:13

标签: .net gac fusion assembly-binding-redirect

如何解决为什么没有遵循发布商政策文件程序集绑定重定向? (Fusion告诉我它不是,但不是为什么)

背景

  • Microsoft SharePoint在版本之间广泛使用assembly binding redirects,例如v12.0(SharePoint 2007)> v14.0(2010)
  • 突然在一台特定的服务器上,这已停止工作。 (通常的Windows更新,但是有其他服务器,没有其他更改的注意我)。仍在研究据称相同的机器。

挖掘Fusion Log Viewer显示此IS工作的位置(为简洁而减少)

*** Assembly Binder Log Entry ***
...
The operation was successful.
...
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Publisher policy file is found at C:\WINDOWS\assembly\GAC_MSIL\Policy.12.0.Microsoft.SharePoint\14.0.0.0__71e9bce111e9429c\Policy.12.0.Microsoft.SharePoint.config.
LOG: Publisher policy file redirect is found: 12.0.0.0 redirected to 14.0.0.0.
LOG: Post-policy reference: Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL

在不工作的服务器上

*** Assembly Binder Log Entry ***
...
The operation failed.
...
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
LOG: GAC Lookup was unsuccessful.

两个服务器都在GAC中具有策略文件,如gacutil -l <​​/ p>所示

Policy.12.0.Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL

1 个答案:

答案 0 :(得分:0)

没有回答这样的问题&#34;如何进行故障排除[比Fusion给你的信息更多]&#34;但这就是我为解决这个特殊问题所做的工作。

找到Publisher政策文件程序集的副本
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\Policy\Policy.12.0.Microsoft.SharePoint.dll

使用

将其从GAC中删除
gacutil /u Policy.12.0.Microsoft.SharePoint

重新安装

gacutil /i Policy.12.0.Microsoft.SharePoint

立即行动。

不知道最初是什么打破了它。