Почему я получаю "Не удалось найти манифест подписывающего сертификата в хранилище сертификатов" в приложении Excel Addin?

У меня есть проект надстройки Excel, который был создан пару лет назад в Visual Studio 2008. Он внес некоторые изменения, поэтому я обновился до Visual Studio 2010 (единственная среда IDE, которую я могу использовать). Не уверен, что это вызывает проблему, но это справочная информация.

Когда я проверяю код и компилирую его, я получаю сообщение об ошибке "Ошибка 1 Не удалось найти сертификат подписывания манифеста в хранилище сертификатов".

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

Ответ 1

Вам необходимо повторно добавить этот сертификат на свой компьютер или выбрать другой сертификат.

Чтобы выбрать другой сертификат или заново создать его, перейдите на страницу свойств проекта, нажмите вкладку "Подписание" и

  • Нажмите "Выбрать из магазина"
  • Нажмите "Выбрать из файла"
  • Нажмите "Создать тестовый сертификат"

Как только это будет сделано, вы сможете снова создать его.

Ответ 2

Я нашел это решение, которое решило проблему для меня: удаление всех записей в вашем *.csproj, которые попадают в:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>

Ответ 3

Быстрое решение для меня: снять флажок "Подписать манифест ClickOnce" в: Project → (имя проекта) Properties → вкладка Signing

Ответ 4

Когда проект был первоначально создан, на вкладке подписания свойств проекта был добавлен сертификат подписи с однократной подпиской. Это выражает манифест click-once при его создании. Между тем и сейчас этот сертификат больше не доступен. Либо это был не тот компьютер, на котором вы его первоначально построили, либо как-то его убрали. Вам необходимо повторно добавить этот сертификат на свой компьютер или выбрать другой сертификат.

Ответ 5

Добавление нового сертификата разрешило эту проблему для меня. Страница свойств → подпись → Нажмите Создать сертификат теста

Ответ 6

Убедитесь, что вы скопировали файлы .pfx в репозиторий.

Я только что нашел *.pfx по умолчанию .gitignore. Прокомментируйте это (#) и зафиксируйте изменения. Затем вытащите репозиторий и перестройте.

Ответ 7

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

Ответ 8

Проблема с ошибочными остальными записями в файле .csproj все еще встречается с VS2015update3 и может также возникать, если вы пытаетесь изменить сертификат подписи для другого (даже если это один, сгенерированный с использованием опции "новый" в сертификате выбор выпадающего списка). Совет в принятом ответе (отметьте как не подписанный, сохраните, выгрузите проект, отредактируйте .csproj, удалите свойства, относящиеся к старым сертификатам/отпечаткам/ключам и перезагрузите проект, установите сертификат) является надежным.

Ответ 9

Я создаю новый ключ, мне нужно было найти в csproj старый ключ и выполнить его рефакторинг.