为什么我的C++程序集没有签名?
Why isn't my C++ assembly signed?
我有一个c++项目,设置为/clr
,这是c#项目在同一解决方案中引用的。不幸的是,c++似乎没有得到正确的符号,导致错误消息"程序集没有强名称"。(sn.exe
同意这个错误)
但是,在项目设置(link/Advanced)中有一个snk文件,所以应该对进行签名。此外,在相同的解决方案中,所有的项目设置似乎与另一个c++项目中的设置相同-其中一切都可以正常工作。
我在这上面扯了几个小时的头发后发现了一件事:
当消除连接器的/NOLOGO
开关时,很明显连接器被调用两次。我一点也不知道为什么会这样。
现在,在工作的项目中,链接器在命令行(/KEYFILE:
)中为两个调用传递snk文件,在不工作的项目中,第二次调用不传递snk文件。
为什么要调用链接器两次?是什么决定了它没有获得在第二次调用中传递的snk文件?
好吧,我找到了解决方案:显然,MS吹了VS2010的SP1版本,你不得不在MSBUild安装文件夹里瞎折腾。这里有一篇文章给出了肮脏的细节。
(为什么这将在一个项目中工作,而不是在另一个我不知道。坦率地说,我已经浪费了足够多的时间在这上面了,我不会再调查下去了
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 当我的阵列太大时出现分段错误
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 为什么二进制搜索在我的测试中不起作用
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为什么我的 std::ref 无法按预期工作?
- clang整洁10忽略了我的NOLINT命令
- 为什么我的删除节点函数实际上没有删除节点?