Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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# “如何修复错误”;CS7032&x9;密钥文件';myfile.snk';缺少签名所需的私钥_C#_Visual Studio_Unit Testing - Fatal编程技术网

C# “如何修复错误”;CS7032&x9;密钥文件';myfile.snk';缺少签名所需的私钥

C# “如何修复错误”;CS7032&x9;密钥文件';myfile.snk';缺少签名所需的私钥,c#,visual-studio,unit-testing,C#,Visual Studio,Unit Testing,我第一次在VS2015上开发的项目上使用Intellitest 按照指示,我右键单击方法名称并从菜单中选择“运行Intellitest”。正如预期的那样,这将在项目中创建我的测试,其中包含属性和引用文件夹以及测试文件本身 但是,当我构建它时,会出现以下错误: 错误CS7032密钥文件“myFile.snk”缺少所需的私钥 签字 我知道扩展名为“snk”的文件是用来做什么的,但我不知道为什么会出现这个错误,尤其是当我所做的只是构建VisualStudio创建的东西时。我已将此文件与同一解决方案中其

我第一次在VS2015上开发的项目上使用Intellitest

按照指示,我右键单击方法名称并从菜单中选择“运行Intellitest”。正如预期的那样,这将在项目中创建我的测试,其中包含属性和引用文件夹以及测试文件本身

但是,当我构建它时,会出现以下错误:

错误CS7032密钥文件“myFile.snk”缺少所需的私钥 签字

我知道扩展名为“snk”的文件是用来做什么的,但我不知道为什么会出现这个错误,尤其是当我所做的只是构建VisualStudio创建的东西时。我已将此文件与同一解决方案中其他项目中的其他实例进行了检查,这些实例看起来完全相同。我不知道怎么解决这个问题


我需要做什么来修复此问题?

SNK文件可以有两种类型

  • 最常见的情况是,它包含公钥和私钥
  • 它也只能包含公钥。这似乎是你的情况
  • 如果SNK文件只包含公钥,则必须选中项目属性->签名选项卡下的“仅延迟签名”选项

    延迟签名信息可在此处找到:

    简而言之,要真正对程序集进行签名,您需要私钥和公钥。延迟签名将公钥作为占位符放置到程序集清单中。它应该在以后被正式的签名过程覆盖。公司经常这样做是为了允许开发人员在不分发正式密钥的情况下生成“签名”程序集。安全地包含正式密钥的构建实验室/系统将构建正式程序集,并使用公司的正式密钥对其进行签名