VS2012 .NET 4.0 Clickonce VSTO CryptographicException:无法为提供的签名算法创建SignatureDescription

前端之家收集整理的这篇文章主要介绍了VS2012 .NET 4.0 Clickonce VSTO CryptographicException:无法为提供的签名算法创建SignatureDescription前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个VS2010 .NET 4.0 VSTO Outlook Addin项目,我希望迁移到VS2012(但保留在.NET 4.0中).它编译得很好,并且从IDE内部运行就好了,但是当我尝试运行已发布的ClickOnce安装程序时,我得到以下异常:

System.Deployment.Application.InvalidDeploymentException: Exception
reading manifest from file://MyPath/MyAddIn.vsto: the manifest may not
be valid or the file could not be opened.
—> System.Deployment.Application.InvalidDeploymentException: Manifest XML signature is not valid.
—> System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm
supplied.

根据我的测试和在线研究(herethere),似乎只在我的机器上安装了VS2012(无论是从VS2010还是VS2012发布),强制ClickOnce安装程序在使用.NET 4.0时需要SHA1证书.使用VS2010(未安装VS2012)编译时,我现有的SHA256证书与.NET 4.0完全兼容.

>我无法将客户端升级到.NET 4.5,因为这是一个VSTO40项目(在XP / Office 2007上运行).
>我无法在本地计算机上卸载VS2012 / .NET 4.5,因为我还有其他需要它的项目.
>我无法轻易地将我的证书从SHA256降级为SHA1.

还有其他建议让我继续前进吗?

解决方法

我有完全相同的错误消息,并使用VS 2013,.NET 4.5,并使用SHA256正确签名所有内容.

最后,我发现安装了旧版本的VSTO 2010 Runtime(10.0.40303).一旦我们将其更新到10.0.40820,一切正常.真的希望这可以帮助别人,几天来试图弄清楚发生了什么,这让我绝对疯狂.

猜你在找的C&C++相关文章