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.
根据我的测试和在线研究(here和there),似乎只在我的机器上安装了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.
还有其他建议让我继续前进吗?
解决方法
最后,我发现安装了旧版本的VSTO 2010 Runtime(10.0.40303).一旦我们将其更新到10.0.40820,一切正常.真的希望这可以帮助别人,几天来试图弄清楚发生了什么,这让我绝对疯狂.