【发布时间】:2010-08-07 20:03:44
【问题描述】:
我有两个项目 A 和 B。项目 A 使用项目 B 中的类型 X,所以我在 A 中添加了对 B 的引用。一切正常。
我使用强命名密钥文件签署了项目 B。一切都还不错。
然后我决定为B更改强命名密钥文件。我重建了项目B ok。当我尝试构建项目 A 时,我收到错误“错误 1 类型 X 是在未引用的程序集中定义的。您必须添加对程序集 B 的引用,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = 95b41b0d6571627b”。 "
所以我删除了项目 A 中的引用并重新添加了它,不高兴。我可以在项目 A 中单击项目 B 引用,打开对象浏览器并在那里查看类型 X 确定。我还完全限定了 A 中的 X 型对象,智能感知很好地拾取了它们,但它仍然没有构建。
我认为更改密钥文件可能需要升级版本,所以我将程序集 B 版本更改为 2.0.0.0,但 A 仍然抱怨它需要版本 1.0.0.0。查看 A 中 B 引用的属性,它肯定指向正确的版本,实际上它显示为 2.0.0.0
我可以使用现有的密钥文件,但如果可能的话,我想了解我哪里出错了。
【问题讨论】:
-
嗨梅林,没有 B 不是延迟签名的
-
尝试创建一个全新的项目并添加对项目 B 的引用。这至少可以告诉您项目 A 或项目 B 是否有问题。
-
@Steve - 我试过了,新项目建得很好。
标签: c# assemblies reference