为什么我的强化名称验证无法进行汇编?

时间:2015-09-25 18:00:50

标签: .net c++-cli strongname

为什么我的强化名称验证无法进行汇编?

这是一个c ++ \ cli dll。我们设置使用我们的强键 - 我们用于所有项目的键。

sn -T example.dll

给我们

Public key token is ...(与我们所有的dll相同)

但是当我们跑步时

sn -vf example.dll

我们得到:

Failed to verify assembly -- Strong name validation failed for assembly ... 

我应该寻找什么想法?这是在Visual Studio 2013中构建的,我们在项目属性页面中指定了强密钥名称。

更新 - 对Hans提出的问题的回答:

使用项目"属性页"设置密钥文件。在Visual Studio中。

KeyFile: $(SolutionDir)Keys\Ivara.snk

平台工具集是:Visual Studio 2013(v120)

对于清单问题 - 我不是100%肯定,而是从属性页面:

配置属性 - >清单工具 - >命令行给出:

/ verbose /out:".\x64\Debug\oqkern.dll.embed.manifest" / nologo"。\ x64 \ Debug \ oqkern.dll.embed.manifest.res"

汉斯'建议有效:

我将dll标记为延迟签名,我添加了一个帖子构建步骤来进行签名:

sn -R "$(TargetPath)" "$(SolutionDir)Keys\Ivara.snk"

之后:

C:\Development\Source\DotNet\bin\x64\Debug>sn -vf oqkern.dll

Microsoft (R) .NET Framework Strong Name Utility  Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly 'oqkern.dll' is valid

0 个答案:

没有答案