C# &引用;签名时出错:密钥在指定状态下无效;编译Outlook 2010加载项时
我正在构建一个Outlook 2010插件,它将使用票务系统的API连接到我们的票务系统中。一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单。今天早上,我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了 “错误1签名时出错:密钥在指定状态下无效。” 没有与错误关联的行号或文件。起初,我认为这是与系统有关的。我已经包括了安全类,但注释掉了与此相关的所有内容,并删除了对系统的引用。安全性并没有解决问题 我试着重新启动一切,做了一个干净的建设没有运气。根据我的建议,我已尝试删除我的计算机和本地RSA文件,但没有任何区别。我还尝试在我的解决方案中删除_TemporaryKey.pfx文件,希望如果出现问题,VS会重新创建一个新的工作文件,但这甚至没有改变错误消息,告诉我文件丢失了C# &引用;签名时出错:密钥在指定状态下无效;编译Outlook 2010加载项时,c#,visual-studio-2010,outlook-addin,signing,C#,Visual Studio 2010,Outlook Addin,Signing,我正在构建一个Outlook 2010插件,它将使用票务系统的API连接到我们的票务系统中。一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单。今天早上,我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了 “错误1签名时出错:密钥在指定状态下无效。” 没有与错误关联的行号或文件。起初,我认为这是与系统有关的。我已经包括了安全类,但注释掉了与此相关的所有内容,并删除了对系统的引用。安全性并没有解决问题 我试着重新启动一切,做了一个干净的建设没有运气。根据我的建议,我已尝
在这一切之后,我尝试打开一个不同的外接程序项目,我已经有一周没有修改了,它也有同样的错误。我现在不确定这是否是Visual Studio或我的计算机的问题,但一个全新的Outlook加载项项目将成功编译,因此它只会影响旧项目。创建一个新的测试证书似乎解决了这个问题。给我指出了正确的方向
- 打开给出错误的项目的属性页
- 单击“签名”选项卡
- 单击创建测试证书
- 输入密码并单击“确定”
这让我的工作又开始了。我在重新加载机器后遇到了同样的错误。正如Nick提到的,您可以创建一个新的证书并从那里开始 我最终做的是将原始证书添加回我的证书存储中,以便在VisualStudio发布过程中再次使用它。双击PFX文件并按照提示操作应该可以到达那里
需要注意的一点是,如果经过足够的时间,证书可能会过期,最好创建一个新的证书。microsoft及其特定错误消息;)