2015-02-14 8 views
-1

Я хочу установить сборку в глобальный кеш сборки (gac) в Windows Server 2008 R2. Он не работает с момента последнего обновления Windows.Не удается установить сборку в глобальный кэш сборок (GAC) с помощью gacutil

Например я беру AjaxControlToolkit:

Сначала я проверить его с зп инструмента, после этого, я пытаюсь установить его с помощью gacutil gacuil и опции -i. Командная строка показывает следующее:

D:\lib>sn -v AjaxControlToolkit.dll 

Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Assembly 'AjaxControlToolkit.dll' is valid 

D:\lib>gacutil -i AjaxControlToolkit.dll 
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Failure adding assembly to the cache: Strong name signature could not be verifie 
d. Was the assembly built delay-signed? 

чек с зп показывает, что все в порядке со сборкой, и это правильная строка подписи. Но, тем не менее, gacutil не может проверить сильную подпись имени.

ответ

0

Ваша сборка, вероятно, связана с задержкой, как предполагает ошибка. Вероятно, вы пропускаете проверку с помощью опции sn.exe -Vr. Попробуйте выполнить следующее и проверьте сборку, не пропуская проверку (обратите внимание на использование -vf вместо -v).

sn.exe -vf AjaxControlToolkit.dll 

Причина gacutil не пропуская проверки может быть потому, что ваш Sn.exe 32 бит и Gacutil.exe 64 бит или наоборот. Пропуск проверки может быть различным в зависимости от бита процесса.

Если сборка связана с задержкой, убедитесь, что вы действительно ее подпишите, прежде чем добавлять ее в GAC.

+0

AjaxControlToolkit.dll из Codeplex не затягивают подписан. Вы можете скачать его из Codeplex. Использование -vf дает тот же результат (см. Ответ ниже). – Isix

-1

D: \ Lib \ 40> Sn.exe -vf AjaxControlToolkit.dll

Microsoft (R) .NET Framework Strong Name Utility Версия 4.0.30319.1 Copyright (с) Корпорация Microsoft. Все права защищены.

Ассамблея 'AjaxControlToolkit.dll' действует

+0

AjaxControlToolkit, доступный в кодексе, не задерживается. Но поскольку это ошибка операционной системы, которая была повреждена обновлениями Windows, единственным решением будет удаление ... – Isix