Устранение неполадок перенаправления привязки .NET в файлах политик издателя

Как точно определить, почему не соблюдается перенаправление привязки сборки из файла политики издателя? (Fusion показывает мне, что это НЕ, но не ПОЧЕМУ)

Фон

  • Microsoft SharePoint широко использует перенаправления привязки сборки между версиями, например. v12.0 (SharePoint 2007) > v14.0 (2010)
  • Внезапно на одном конкретном сервере это перестало работать. (обычные обновления Windows, но и другие серверы тоже, я думаю, никаких других заметных изменений). Все еще работаю на якобы идентичных машинах.

Выкапывание Fusion Log Viewer показывает, где это работает (сокращено для краткости)

*** 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

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

person Ryan    schedule 04.12.2017    source источник


Ответы (1)


Не отвечая на вопрос как таковой: «Как устранить неполадки [помимо информации, которую дает вам Fusion]», но это то, что я сделал, чтобы решить эту конкретную проблему.

Найдена копия сборки файла политики издателя по адресу

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

Работает сразу.

Не знаю, что сломало его в первую очередь, хотя.

person Ryan    schedule 04.12.2017