Подписание командой разработки надстройки VSTO для PowerPoint на C #

Я и еще один парень разрабатываем проект надстройки для PowerPoint с использованием C # и VSTO. Наш проект хранится в репозитории, и каждый раз, когда один из нас получает последнюю версию из репозитория, обновленную другим, у него возникает проблема компилятора с подписью. До сих пор мы решали эту проблему компилятора, создавая тестовый сертификат на соответствующем компьютере каждый раз после обновления из репозитория.

Мой вопрос: можно ли как-то избежать этого постоянного создания тестового сертификата после взятия решения, компилируемого на другой машине, из репозитория, чтобы его можно было скомпилировать на обеих машинах?

Все перепробовали:

  1. Мы использовали один и тот же файл .pfx для обоих наших ПК (т.е. мы отправили этот файл в репозиторий).

  2. Мы попытались снять флажок «Подписать манифест ClickOnce» в окне «Свойства» Решения и вообще удалить файл .pfx.

  3. Мы попытались использовать наши собственные файлы .pfx, поместив их в список игнорирования.

Но результата не было!


person Jordan    schedule 21.07.2015    source источник


Ответы (2)


У нас похожий сценарий, и мы делаем следующее:

  1. «Подписать манифест ClickOnce» подписывается локально сгенерированным ключом .pfx, который регистрируется в репозитории.

  2. Сборка подписана ключом строгого имени.

  3. На сервере сборки манифест повторно подписывается с использованием цифрового сертификата компании для развертывания согласно инструкциям, приведенным в этой статье - http://blogs.msdn.com/b/vsto/archive/2009/04/29/подписание-и-повторноеподписание-манифесты-в-clickonce.aspx
person Shyam Pillai    schedule 21.07.2015

Позвольте мне ответить на свой вопрос. Решение, наверное, найдено. Шаги следующие:

  1. Один разработчик должен создать новый файл .pfx, определяющий пароль. В результате он уже может правильно разработать надстройку на своей машине; но другой разработчик по-прежнему не может на своих машинах.

  2. Используя ту же вкладку окна «Свойства» проекта, этот разработчик должен выбрать тот же файл .pfx с помощью кнопки «Выбрать из файла ...», указав пароль.

  3. Файл .pfx нужно отправить в репозиторий (т.е. не включать его в список игнорирования). В результате от других разработчиков больше не потребуется создавать другие файлы .pfx.

Мы готовы!

«Магия» в том, что знание пароля всеми разработчиками имеет решающее значение. Когда файл .pfx добавляется в проект, как описано в пункте 2, это означает, что все разработчики знают пароль.

person Jordan    schedule 03.08.2015