.net項目編譯時,無法在證書存儲區中找到清單簽名證書
編譯.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等工具稍加改動即可
最後更新:2017-04-02 22:16:18