微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的C大会没有签名?

我有一个C项目,设置为/ clr,在同一解决方案中由C#项目引用.不幸的是,似乎C没有正确签名,导致错误消息“程序集没有强名称”. (sn.exe同意该错误.)
但是,项目设置(链接器/高级)中有一个snk文件,因此应该进行签名.此外,所有项目设置似乎与同一解决方案中的另一个C项目相同 – 一切正常.

撕掉头发几个小时后,我发现了一件事:
当消除链接器的/ NOlogo开关时,很明显链接器被调用两次.我没有丝毫想到为什么会这样.
现在,在有效的项目中,链接器会在命令行(/ KEYFILE :)中为两个调用传递snk文件,在不起作用的情况下,第二个调用不会传递snk文件.

为什么要调用链接器两次?是什么决定它不会在第二次调用中传递snk文件

解决方法

好的,我找到了解决方案:显然,MS为VS2010吹了SP1版本,你必须在MSBUild安装文件夹中乱七八糟. Here是一篇提供肮脏细节的文章.

(为什么这会在一个项目中起作用,但在另一个项目中却没有.我坦率地说,我已经失去了足够的时间撞击这堵墙,并且不会进一步调查.)

原文地址:https://www.jb51.cc/c/111364.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐