在未引用的程序集中定义的C#类型

CSh*_*der 13 c# assemblies reference

我有两个项目A和B.项目A在项目B中使用了类型X,所以我在A中添加了B的引用.一切都很好.

我使用强大的命名密钥文件签署了项目B. 一切仍然很好.

然后我决定更改B的强命名密钥文件.我重建了项目B ok.当我尝试构建项目AI时收到错误"错误1类型X在未引用的程序集中定义.您必须添加对程序集B的引用,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 95b41b0d6571627b'. "

所以我删除了项目A中的引用并将其重新添加回来,没有任何乐趣.我可以dbl点击项目A中的项目B引用,打开对象浏览器并在那里看到类型X确定.我也完全限定了A中的X型对象,而intellisense对它们进行了很好的检测,但它仍然没有构建.

我认为更改密钥文件我可能需要更新版本,所以我将程序集B版本更改为2.0.0.0但仍抱怨它需要版本1.0.0.0.查看A中B引用的属性,它肯定指向正确的版本,实际上它显示为2.0.0.0

我可以使用现有的密钥文件但我想知道如果可能的话我会在哪里出错.

bot*_*ked 0

您可以尝试编辑项目 A 的项目文件 (projectA.csproj)。要通过 Visual Studio 执行此操作,请右键单击项目 -> 卸载项目,然后在卸载的项目上右键单击 -> 编辑文件。在那里搜索对项目 B 的引用,并尝试根据需要进行更正