Подпись строгого имени не может быть проверена

Я развертываю приложение ASP.Net MVC 3 на сервере Windows 2008 R2. Я опубликовал приложение из Visual Studio 2010 с использованием файловой системы. У меня есть две сборки с отложенной подписью и допустимый файл snk. Развертывание было выполнено с использованием xcopy, поскольку это внутреннее приложение.

Но через некоторое время произошли некоторые изменения, связанные с решением. Я переименовал две сборки, но файлы snk не менял. Теперь после развертывания я получаю следующую ошибку -

Не удалось загрузить файл или сборку MyApplication или одну из его зависимостей. Не удалось проверить подпись строгого имени. Возможно, сборка была изменена, или она была подписана с задержкой, но не полностью подписана с правильным закрытым ключом. (Исключение из HRESULT: 0x80131045)

Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.

Сведения об исключении: System.IO.FileLoadException: не удалось загрузить файл или сборку «My doneApplication» или одну из его зависимостей. Не удалось проверить подпись строгого имени. Возможно, сборка была изменена, или она была подписана с задержкой, но не полностью подписана с правильным закрытым ключом. (Исключение из HRESULT: 0x80131045)

Может ли кто-нибудь помочь мне разобраться в этом вопросе?


person user1134489    schedule 02.08.2013    source источник


Ответы (1)


Я в основном парень Winforms и изучаю Интернет в своем офисе. Недавно я столкнулся с той же проблемой, но решил ее. Я заметил, что в моем случае у меня не было Windows SDK для Windows 7 и .NET Framework 4 установлены на моем компьютере. Попробуйте установить это и перезапустить систему.

Вам необходимо проверить свою сборку с помощью sn.exe. Открыть командную строку в режиме администратора

sn.exe -Vr publicTokenNumber

Вышеупомянутое подтвердит сборку с отложенной подписью. Sn.exe можно найти по пути C:\Program Files\Microsoft SDKs\Windows\v6.1\bin и C:\Program Files\Microsoft SDKs\Windows\v6.1\bin\x64. Попробуйте запустить оба exe-файла и проверить свою сборку. Я дал аналогичный ответ здесь. Вы также можете сослаться на это.

Надеюсь, поможет.

person Sandy    schedule 28.11.2013