您的位置:首页 > 其它

.net项目编译时,无法在证书存储区中找到清单签名证书

2012-02-04 09:12 316 查看
编译.net项目时,出现无法找到清单签名证书的状况,用方法3解决了。用方法1和2只能顺利编译,但不能发布。



最直接有效的方法是1,2和1效果一样只不过是处理的步骤多几步:

1.工程->属性->签名->为ClickOnce清单签名



2.用记事本打开对应csproj文件。将

<SignManifests>true</SignManifests>改为

<SignManifests>false</SignManifests>.





3.在vs2005中出现“无法在证书存储区中找到清单签名证书”,解决办法是用记事本打开项目的.csproj文件,删除类似以下xml就能顺利通过编译了

<ManifestCertificateThumbprint>B531F2CF222748C5E29308FC2247704827D1EA8C</ManifestCertificateThumbprint>

<ManifestKeyFile>xxxx_TemporaryKey.pfx</ManifestKeyFile>

<GenerateManifests>true</GenerateManifests>

<SignManifests>true</SignManifests>

<PublishUrl>D:\xxx\bin\</PublishUrl>

<Install>true</Install>

<InstallFrom>Disk</InstallFrom>

<UpdateEnabled>false</UpdateEnabled>

<UpdateMode>Foreground</UpdateMode>

<UpdateInterval>7</UpdateInterval>

<UpdateIntervalUnits>Days</UpdateIntervalUnits>

<UpdatePeriodically>false</UpdatePeriodically>

<UpdateRequired>false</UpdateRequired>

<MapFileExtensions>true</MapFileExtensions>

<CreateWebPageOnPublish>false</CreateWebPageOnPublish>

<ApplicationVersion>1.0.0.%2a</ApplicationVersion>

<IsWebBootstrapper>false</IsWebBootstrapper>

<BootstrapperEnabled>true</BootstrapperEnabled>



出现以上原因可能是:clickone自动生成的证书过期了(有效期只有一年,且不能修改延长),

若是重新生成新的证书客户端自动更新将失败。你可以在程序发布前自己生成证书,把时间延长个若干年。采用MakeCert.exe等工具稍加改动即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: