Сбой сборки VSTS с MSB3325, Невозможно импортировать файл ключа PFX

Я создал определение сборки для создания настольного приложения онлайн на visualstudio.com, которое завершается ошибкой при решении задачи Build Solution (сборка Visual Studio) со следующей ошибкой,

[ошибка]C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3156,5): Ошибка MSB3325: невозможно импортировать следующий файл ключа: Sixmod5Certificate.pfx. Файл ключа может быть защищен паролем. Чтобы исправить это, попробуйте снова импортировать сертификат или вручную установить сертификат в CSP со строгим именем со следующим именем контейнера ключей: VS_KEY_3B2BCC84AE4E26F1

Я следовал решению, указанному по адресу https://developercommunity.visualstudio.com/content/problem/156086/vsts-build-msb3325-cannot-import-the-following-key.html

затем, как указано на /questions/22309930/vsts-online-sozdanie-resheniya-s-podpisyu-clickonce-pfx-password/22309934#22309934, я добавил задачу сценария powershell перед задачей сборки следующим образом:

[CmdletBinding()]
param(  
    [Parameter(Mandatory)][string] $pfxpath,
    [Parameter(Mandatory)][string] $password
)

Add-Type -AssemblyName System.Security
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import($pfxpath, $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
$store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
$store.Add($cert)
$store.Close()

но пока не повезло,

Существуют различные сообщения SO, аналогичные этому конкретному решению, которое нужно построить от пользователя Admin или установить сертификат pfx вручную, но поскольку они связаны с персональным компьютером, и я пытаюсь настроить непрерывную интеграцию на visualstudio.com, они не кажутся полезными для мне.

Пожалуйста, обратите внимание, что я могу успешно собрать на своем локальном компьютере.

Если вы хотите восстановить эту проблему с вашей стороны, выполните следующие действия,

ШАГ 1: Создайте новый VSTO Addin Project (Любой Excel/Word/Powerpoint).

ШАГ 2: Прикрепите это к VSTS.

ШАГ 3. На вкладке подписи свойств приложения вместо использования временного сертификата создайте новый защищенный паролем сертификат (в моем случае PFX - Обмен личной информацией) и используйте его для подписи манифеста ClickOnce.

ШАГ 4: Попробуйте собрать на локальной машине, все получится.

ШАГ 5: Нажмите на него и попробуйте собрать VSTS, вы получите ту же ошибку, что и выше.

0 ответов

Я снял флажок "Подписать сборку" на странице "Свойства проекта -> Подписание", и все заработало как шарм. Сборка была успешно подписана через VSTS. Почему-то я пропустил это решение, предоставленное во многих SO-потоках, связанных с проблемой.

Я снял флажок "Подписать сборку" на странице "Свойства проекта -> Подписание", и все заработало как шарм. Сборка была успешно подписана через VSTS. Как-то я пропустил это решение, представленное во многих потоках SO, связанных с проблемой.

Это сработало для меня. Спасибо.