在Visual Studio中签署程序集时出现加密失败

Nir*_*iya 13 c# dll visual-studio

我不知道哪里出错了.当我构建它时,搜索DLL登录的默认路径.尽管我指定了路径.

我已经将我的.snk文件创建并存储在与DLL相同的位置.

//Assembly info file for errorcollection

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ErrorCollection")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ErrorCollection")]
[assembly: AssemblyCopyright("Copyright ©  2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2c17131b-0ae3-4146-a797-308f5958e819")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: System.Reflection.AssemblyKeyFile(@"D:\Services\bin\ErrorCollection.snk")]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

"签名程序集时出现加密失败'D:\ Services\ErrorCollection\obj\Debug\ErrorCollection.dll' - '读取密钥文件时出错'D:\ Services\bin\ErrorCollection.snk' - 系统找不到指定的文件''ErrorCollection"

Ste*_*hev 9

检查本地计算机上Keys文件夹的访问权限,并授予VS用户权限.

C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
Run Code Online (Sandbox Code Playgroud)


Phi*_*yck 5

对我来说,这个问题发生在升级到Windows 10之后.然后,MachineKeys的位置就位于不同的位置

C:\ ProgramData \微软\加密\ RSA

右键单击MachineKeys并确保已设置所有权限.


Ted*_*Ted 2

该路径必须相对于程序集。

请查看以下知识库

因此尝试改变

@“D:\Services\bin\ErrorCollection.snk”

类似于(这里我假设它是到根 d 驱动器的四个级别)

@“..\..\..\..\Services\bin\ErrorCollection.snk”