2013-04-23 2 views
4

Кто-нибудь знает, как использовать сертификат подписи кода для приложений манифеста ClickOnce в TFS Hosted Controller Build?Приложение для манифеста ClickOnce в сборке TFS

Сценарий:

Я использую Team Foundation Service в качестве хранилища кода и управления версиями. Я создал определение сборки, используя команду explorer (Visual Studio 2012).

Сложение "Process" с помощью шаблона по умолчанию, сконфигурированный для Любой CPU | Release

Билд установлен в положение "Руководство триггер" использует Hosted сборки контроллера.

TFS build не увенчался успехом, если в моем проекте используются идентификаторы кода и код.

В моем решении, два проекта, имеющие «ClickOnce проявляет»

Местных сборки не имеют никаких проблем с подписанием Кодекса и ClickOnce проявляется - потому что код сертификата подписи доступного локально для сборки.

Но для тех же сборок в TFS, я получаю ошибку «Не удается найти манифест сертификат подписи в хранилище сертификатов.» (только одна ошибки блокировки сборка)

Вопрос

Как установить сертификат подписи кода в «Учетную запись службы сборки TFS» или «Создать учетную запись пользователя службы»?

Как я могу сделать сертификат подписи кода доступным в хранилище сертификатов виртуальной машины?

Любая альтернатива, чтобы получить чистую сборку TFS с помощью подписи кода и манифестов ClickOnce?

Не найти решение пока :(кто-нибудь полезное здесь ??

ответ

1

Ну, мне удалось подписать манифест ClickOnce в автоматической сборке TFS.Мой сертификат защищен паролем, и по этой причине сервер сборки не смог получить доступ к сертификату. Сертификат не был в моем хранилище личных сертификатов, поэтому у меня были проблемы.

Я импортировал сертификат в личный магазин моей локальной машины, и оттуда я указал его для подписания манифеста clickonce. Когда вы ссылаетесь на сертификат из личного магазина, он не будет запрашивать пароль. Следовательно, вы можете обмануть сборку TFS и теперь можете получить доступ к вашему сертификату подписи кода.

+1

Так это просто, как просто импортировать его в хранилище личных сертификатов и все? Я сделал это на сервере сборки, и я все равно получаю ту же ошибку. –

-2

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

Моя компания производит продукт под названием ClickOnceMore (www.clickoncemore.net), который может использоваться для построения вашей ClickOnce проявляется, а не MSBuild Он разработан, чтобы быть легко интегрированы в непрерывной интеграции сборки с помощью интерфейса командной строки

чтобы интегрировать в сборку:.. * Выключите ClickOnce в вашем Visual Studio решение * Создание проекта ClickOnceMore * Для того, чтобы подписать манифесты вам просто нужно поставить сертификат подписи в известной папке, а затем ссылаться на него из проекта ClickOnceMore * Добавить новый шаг сборки в TFS для создания проекта ClickOnceMore

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

Смежные вопросы