![](/img/trans.png)
[英]System.Security.Cryptography.CryptographicException: Keyset does not exist thrown within Visual studio
[英]System.Security.Cryptography.CryptographicException (signature algorithm) in Windows XP SP2 - visual studio 13 project
我正在開發一個在Visual Studio 2008中構建的項目,該項目在Windows XP,Windows 7、8和10中運行良好。
但是后來我們在Visual Studio 2013上進行了遷移[目標框架-3.5,簽名算法-sha256RSA與以前相同],現在我遇到了這個問題
它在Windows 7中工作正常,但是當我嘗試通過“單擊應用程序一次部署”在Windows XP-SP2中安裝它時,出現以下異常。
- 從文件:Desktop / MyApp-vs13 / MyApp.application中讀取清單的異常:清單可能無效或無法打開文件。
- 資料來源:System.Deployment
- 堆棧跟蹤:位於System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore,Uri&sourceUri,TempFile&tempFile,SubscriptionState&subState,IDownloadNotification通知,DownloadOptions處System.Deployment.Application.ManifestReader.FromDocument(String localPath,ManifestType manifestType,Uri sourceUri) System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore,Uri&sourceUri,TempFile&tempFile,SubscriptionState&subState,IDownloadNotification通知,DownloadOptions選項)中的選項。 ,位於System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)上的字符串,textualSubId,String deploymentProviderUrlFromExtension,BrowserSettings browserSettings,String&errorPageUrl)(對象狀態)-內部異常 在--- System.Deployment.Application.InvalidDeploymentException(SignatureValidation)上
- 清單XML簽名無效。
- 資料來源:System.Deployment
- 堆棧跟蹤:位於System.Deployment.Application.ManifestReader.FromDocument(String localPath,ManifestType manifestType,Uri sourceUri)處的System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream)---內部異常--- System.Security .Cryptography.CryptographicException
- 無法為提供的簽名算法創建SignatureDescription。
- 資料來源:System.Security
- 堆棧跟蹤:位於System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm密鑰)處的System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm密鑰)處)在System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream)處的System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
附加信息:
我知道這里幾乎沒有與我類似的問題,但是所有這些問題的常見答案是“刪除簽名”,這對我來說不是選項,甚至我也不能更改“簽名算法”
我需要在具有.net framework 3.5的Windows XP SP2中成功部署和運行項目。
有什么我想念的東西或實現它的某種方法嗎?
Windows XP已經死了很多年,最后一個SP是SP3。
沒有人保證,請勿嘗試在不受支持的環境上執行嚴肅的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.