ClickOnce在一个应用程序上代码签名失败,而不是其他应用程序



当我使用Clickonce发布时,我对应用程序进行代码签名。我使用的密码是xxx。可以文件。我使用相同的文件与ClickOnce发布多个不同的应用程序。然而,在这个特定的应用程序上,当我发布时,我得到以下错误:

不能导入如下密钥文件:{文件名}.pfx。密钥文件可能有密码保护。要纠正此问题,请尝试再次导入证书或使用以下密钥容器名称手动将证书安装到强名称CSP: VS_KEY_7234A89B766DF5A7

我已经尝试使用sn工具重新安装证书,但它说证书已经存在。我试着用sn -d VS_KEY_7234A89B766DF5A7删除容器,但它说容器不存在。

所以,完全相同的xxx。PFX文件可以用来发布我的一些应用程序,但不是这个。

我该去哪里?

这个修复为我工作,虽然我不能真正说为什么。有一个MSBuild项目属性AssemblyOriginatorKeyFile。我的一些ClickOnce项目在PropertyGroup中有这个属性,其他的没有。然而,所有项目都能够在ClickOnce发布过程中签署应用程序。

关于在发布期间代码签名失败的应用程序,我从xxx中删除了AssemblyOriginatorKeyFile。然后尝试发布带有代码签名的应用程序,并且成功了。

不确定这是否可重复(我希望不要再看到这个问题)。但是,ClickOnce的发布似乎没有这个属性也能正常工作。

我还将代码签名证书与其私钥一起安装到证书存储中,并公开为xxx。可以文件。在删除此属性之前,我无法从存储区或文件中使用证书。

最新更新