Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;签名时出错:密钥在指定状态下无效;编译Outlook 2010加载项时_C#_Visual Studio 2010_Outlook Addin_Signing - Fatal编程技术网

C# &引用;签名时出错:密钥在指定状态下无效;编译Outlook 2010加载项时

C# &引用;签名时出错:密钥在指定状态下无效;编译Outlook 2010加载项时,c#,visual-studio-2010,outlook-addin,signing,C#,Visual Studio 2010,Outlook Addin,Signing,我正在构建一个Outlook 2010插件,它将使用票务系统的API连接到我们的票务系统中。一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单。今天早上,我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了 “错误1签名时出错:密钥在指定状态下无效。” 没有与错误关联的行号或文件。起初,我认为这是与系统有关的。我已经包括了安全类,但注释掉了与此相关的所有内容,并删除了对系统的引用。安全性并没有解决问题 我试着重新启动一切,做了一个干净的建设没有运气。根据我的建议,我已尝

我正在构建一个Outlook 2010插件,它将使用票务系统的API连接到我们的票务系统中。一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单。今天早上,我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了

“错误1签名时出错:密钥在指定状态下无效。”

没有与错误关联的行号或文件。起初,我认为这是与系统有关的。我已经包括了安全类,但注释掉了与此相关的所有内容,并删除了对系统的引用。安全性并没有解决问题

我试着重新启动一切,做了一个干净的建设没有运气。根据我的建议,我已尝试删除我的计算机和本地RSA文件,但没有任何区别。我还尝试在我的解决方案中删除_TemporaryKey.pfx文件,希望如果出现问题,VS会重新创建一个新的工作文件,但这甚至没有改变错误消息,告诉我文件丢失了


在这一切之后,我尝试打开一个不同的外接程序项目,我已经有一周没有修改了,它也有同样的错误。我现在不确定这是否是Visual Studio或我的计算机的问题,但一个全新的Outlook加载项项目将成功编译,因此它只会影响旧项目。

创建一个新的测试证书似乎解决了这个问题。给我指出了正确的方向

  • 打开给出错误的项目的属性页
  • 单击“签名”选项卡
  • 单击创建测试证书
  • 输入密码并单击“确定”

这让我的工作又开始了。

我在重新加载机器后遇到了同样的错误。正如Nick提到的,您可以创建一个新的证书并从那里开始

我最终做的是将原始证书添加回我的证书存储中,以便在VisualStudio发布过程中再次使用它。双击PFX文件并按照提示操作应该可以到达那里


需要注意的一点是,如果经过足够的时间,证书可能会过期,最好创建一个新的证书。

microsoft及其特定错误消息;)