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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...