我一直试图在Azure DevOps中创建生成管道。虽然我可以构建基本的控制台应用程序项目,但是在将pfx文件添加到项目应用程序时遇到了问题。
已为ClickOnce启用了控制台应用程序项目,该项目需要具有* .pfx密钥文件。
当我设置基本的构建管道时,它似乎继续失败。我收到此消息:
错误MSB3325:无法导入以下密钥文件:[XXXX] .pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_FE357D179B4A2D91
错误MSB3325:无法导入以下密钥文件:[XXXX] .pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_FE357D179B4A2D91
如何导入pfx以使构建成功? 感谢任何对此的见解/方向。
谢谢。
答案 0 :(得分:1)
如果您要使PFX文件可用于管道,只需在主要任务之前添加Powershell任务
#Import the PFX certificate file and password. Read the thumbprint into variable
$Thumbprint = (Import-PfxCertificate -CertStoreLocation Cert:\CurrentUser\My -FilePath Certificate.pfx -Password $pwd).Thumbprint
Write-Host $Thumbprint
#Rest of Script below or set environment variable for rest of Pipeline
Write-Host "##vso[task.setvariable variable=Thumbprint]$Thumbprint"
如果需要,可以将指纹与最后一行一起传递到管道的其余部分,也可以在需要时对指纹进行硬编码。
我将证书存储在Azure KeyVault中。如果您愿意/也想这样做,请在此处发布一个帖子:Access certificate thumprint from Azure DevOps variable group connected to Key vaults