【问题标题】:Compile Failed because of Strong Name强名称导致编译失败
【发布时间】:2012-08-16 17:44:08
【问题描述】:

我想在我的项目中引用两个 dll。它们是 A.dll 和 B.dll。 B.dll 引用了 A.dll。他们没有强大的名字。我的项目 C 需要签署强名称。所以我需要为 A.dll 和 B.dll 签署强名称。之后,我遇到了一个问题 - 我无法编译成功,B.dll 的代码无法转换为 A.dll 中的类型包含。 我知道为什么会这样。我对 A.dll 和 B.dll 都签署了强名称,但 B.dll 仍然引用没有强名称的 A.dll。 所以我的问题是,如何为 B.dll 和 B.dll 引用 A.dll 签署强名称。不仅引用 B.dll 或 A.dll。 这是项目和错误消息:

【问题讨论】:

  • A:你真的需要签署C吗?如果是这样:为什么? ... 和 B:你可以访问 A 和 B 吗?也就是说,你能重建它们吗?
  • 是的,我真的需要签署 C。这是要求。我无权访问A和B。如果可以,我可以按照你说的,重建它们,然后我的问题就解决了。
  • 是的,但签名是身份的一部分。如果换了身份。你很可能会破坏 A 和 B 之间的关系......
  • 那么,这个问题没有解决办法吗?
  • 如果程序集被标记为延迟签名,那么您可以使用 sn.exe 对其进行签名....否则,如果它未标记为延迟签名并且您没有 A 和 B 的来源,那么您可以这样做:ryanfarley.com/blog/archive/2010/04/23/… ... buffered.io/posts/…

标签: .net compilation strongname


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多