Lee*_*som 6 .net clickonce visual-studio-2010 c#-4.0 visual-studio-2012
我有一个VS2010 .NET 4.0 VSTO Outlook Addin项目,我希望迁移到VS2012(但保留在.NET 4.0中).它编译得很好,并且从IDE内部运行就好了,但是当我尝试运行已发布的ClickOnce安装程序时,我得到以下异常:
System.Deployment.Application.InvalidDeploymentException:从file://MyPath/MyAddIn.vsto读取清单的异常:清单可能无效或无法打开文件.---> System.Deployment.Application.InvalidDeploymentException:Manifest XML签名无效.---> System.Security.Cryptography.CryptographicException:无法为提供的签名算法创建SignatureDescription.
基于我的测试和在线研究(在这里和那里),似乎只在我的机器上安装了VS2012(无论是从VS2010还是VS2012发布),强制ClickOnce安装程序在使用.NET 4.0时需要 SHA1证书.使用VS2010(未安装VS2012)编译时,我现有的SHA256证书与.NET 4.0完全兼容.
还有其他建议让我继续前进吗?
小智 10
我有完全相同的错误消息,并使用VS 2013,.NET 4.5,并使用SHA256正确签名所有内容.
最后,我发现安装了旧版本的VSTO 2010 Runtime(10.0.40303).一旦我们将其更新到10.0.40820,一切正常.真的希望这可以帮助别人,几天来试图弄清楚发生了什么,这让我绝对疯狂.
我通过创建一个新证书来解决我的问题,该证书用于签署 ClickOnce 清单并使用 SHA1 算法生成它。您可以在此处查看对话:http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/eba424ae-f7b7-4530-bb68-db3b9972a31e
2014 年 8 月 5 日编辑:
Visual Studio 2013 Update 3 终于解决了这个问题。
http://support.microsoft.com/kb/2933779
从已修复问题 -> 常规:
即使对于面向 .NET Framework 4.0 或更早版本的应用程序,您也可以使用 SHA 256 代码签名证书。在此更新之前,当 SHA 256 代码签名证书用于通过 ClickOnce 或 Visual Studio Tools for Office 加载项发布的桌面应用程序时,客户端计算机上必须存在 .NET Framework 4.5。如果您过去使用过 SHA 256 代码签名证书,并且看到过诸如“应用程序格式不正确”、“清单可能无效”、“清单 XML 签名无效”或“ SignatureDescription 可能无效”等错误不是为提供的签名算法创建的”,此更新解决了重新发布和新发布的应用程序的问题。
| 归档时间: |
|
| 查看次数: |
10695 次 |
| 最近记录: |