Msbuild 错误MSB3325:无法导入以下密钥文件
我有一个托管在Azure DevOps中的项目,在那里生成失败,并显示错误消息: 错误MSB3325:无法导入以下密钥文件:xxxx.pfx。钥匙 文件可能受密码保护。要更正此问题,请尝试导入 重新安装证书或手动将证书安装到强 使用以下密钥容器名称命名CSP:VS_key_xxxx 这发生在项目更改为使用新生成的受密码保护的pfx签名证书对程序集进行签名之后 我尝试过其他SO帖子中给出的各种修复方法,但似乎没有任何效果 任何拥有azure devops专业知识的人都可以帮助我解决这种情况 错误MSB3325:无法导入以下密钥文件 您可以创建Msbuild 错误MSB3325:无法导入以下密钥文件,msbuild,azure-devops,assembly-signing,Msbuild,Azure Devops,Assembly Signing,我有一个托管在Azure DevOps中的项目,在那里生成失败,并显示错误消息: 错误MSB3325:无法导入以下密钥文件:xxxx.pfx。钥匙 文件可能受密码保护。要更正此问题,请尝试导入 重新安装证书或手动将证书安装到强 使用以下密钥容器名称命名CSP:VS_key_xxxx 这发生在项目更改为使用新生成的受密码保护的pfx签名证书对程序集进行签名之后 我尝试过其他SO帖子中给出的各种修复方法,但似乎没有任何效果 任何拥有azure devops专业知识的人都可以帮助我解决这种情况 错误M
PowerShell
脚本,并在生成定义中添加PowerShell脚本步骤,以便在VSBuild步骤之前导入新证书文件:
我以前使用的PowerShell脚本:
$pfxpath = 'pathtoees.pfx'
$password = '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()
而且在我这方面效果很好
您可以查看以了解更多详细信息
希望这有帮助
错误MSB3325:无法导入以下密钥文件
您可以创建PowerShell
脚本,并在生成定义中添加PowerShell脚本步骤,以便在VSBuild步骤之前导入新证书文件:
我以前使用的PowerShell脚本:
$pfxpath = 'pathtoees.pfx'
$password = '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()
而且在我这方面效果很好
您可以查看以了解更多详细信息
希望这有帮助。您可以使用,并将其作为powershell任务添加到管道中
- task: PowerShell@2
env:
SN_INSTALL_PFX: $(snInstallPfx.secureFilePath)
MYCERTIFICATE_PFX: $(myCertificatePfx.secureFilePath)
MYCERTIFICATE_PFX_PASSWORD: $(myCertificatePfxPassword)
inputs:
targetType: 'inline'
script: '&"$($ENV:SN_INSTALL_PFX)" "$($ENV:MYCERTIFICATE_PFX)" "$($ENV:MYCERTIFICATE_PFX_PASSWORD)"'
pfx、exe和密码作为安全文件和变量存储在管道库中
有关详细信息,请参阅以下内容。您可以使用,并将其作为powershell任务添加到管道中
- task: PowerShell@2
env:
SN_INSTALL_PFX: $(snInstallPfx.secureFilePath)
MYCERTIFICATE_PFX: $(myCertificatePfx.secureFilePath)
MYCERTIFICATE_PFX_PASSWORD: $(myCertificatePfxPassword)
inputs:
targetType: 'inline'
script: '&"$($ENV:SN_INSTALL_PFX)" "$($ENV:MYCERTIFICATE_PFX)" "$($ENV:MYCERTIFICATE_PFX_PASSWORD)"'
pfx、exe和密码作为安全文件和变量存储在管道库中
有关详细信息,请参阅以下内容。我尝试了上述脚本,但它不起作用。什么应该是-argumentlist“MY”?什么应该是-argumentlist“MY”?我用构建错误中指定的密钥容器名称(类似于VS_key_5FC03B158F74XXXX)尝试了它,但没有成功。我尝试了上面的脚本,但它不起作用。什么应该是-argumentlist“MY”?什么应该是-argumentlist“MY”?我尝试使用构建错误中指定的密钥容器名称(类似于VS_key_5FC03B158F74XXXX),但没有成功。