Я создал конвейер CICD для проекта UWP. Задача PowerShell конвейера с указанным ниже кодом не смогла выдать сообщение об ошибке Ошибка APPX0108: Срок действия указанного сертификата истек. Для получения дополнительной информации о продлении сертификатов см. http://go.microsoft.com/fwlink/?LinkID=241478.
Поэтому я создал новый тестовый сертификат со сроком действия в следующем году в Visual Studio 2017 и отправил файл нового сертификата (.pfx) в репо. Я также обновил файл .csproj, чтобы добавить в него имя нового сертификата.
Теперь я получаю ту же ошибку для задачи решения сборки в конвейере. Я хотел бы знать, что мне не хватает. Должен ли я также добавить этот сертификат на свой сервер сборки?
Код сценария PowerShell:
Param(
[String]$pfxpath,
[String]$password
)
if (-Not $pfxpath) {
Write-Host "Certificate path not set"
exit 1
}
if (-Not $password) {
Write-Host "Password not set"
exit 1
}
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()