1

尝试构建使用托管 C++/CLI 的项目,并且在 64 位构建配置中成功编译。当我切换到 Win32 配置时,托管 C++/CLI dll 不是强命名程序集的选址失败。切换配置时,我已验证两者都具有项目 -> 配置属性 -> 链接器 -> 高级 -> 密钥文件条目具有 snk 文件的正确路径($(SolutionDir)key.snk)

不确定我是否在这里遗漏了什么。我在谷歌上找不到任何东西...

[更新]

如果我在 C++/CLI 项目中使用构建后事件,输出窗口会显示以下错误:

c:\path\file.dll does not represent a strongly named assembly

我正在使用以下构建后事件:

sn -Ra "$(TargetPath)"  "$(SolutionDir)key.snk"

再一次 - 上面的构建后事件适用于 x64 配置,但不适用于 win32。(我尝试在 32 位和 64 位机器上编译,结果相同)

4

1 回答 1

1

今天刚遇到同样的问题,经过一番挖掘,看起来这是由 Microsoft Visual Studio 2010 SP 1 中引入的错误引起的。

可以在以下链接中找到导致错误的原因和解决方法的描述:

http://blogs.msdn.com/b/vcblog/archive/2011/03/11/10140139.aspx

于 2013-01-10T07:46:31.650 回答