Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法解决“之间的冲突”;XYZ";和XYZ“;_C#_.net_Visual Studio_Tfs - Fatal编程技术网

C# 无法解决“之间的冲突”;XYZ";和XYZ“;

C# 无法解决“之间的冲突”;XYZ";和XYZ“;,c#,.net,visual-studio,tfs,C#,.net,Visual Studio,Tfs,我们刚刚在两个分支之间进行了合并(TFS)。但现在当我编译时,我有一个错误: No way to resolve conflict between "AA.BB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" and "AA.BB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bfd296a93930d932". Choosing "AA.BB, Version=1.0.

我们刚刚在两个分支之间进行了合并(TFS)。但现在当我编译时,我有一个错误:

No way to resolve conflict between 
"AA.BB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
and 
"AA.BB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bfd296a93930d932". 
Choosing "AA.BB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
AA.BB
”是我们的项目之一,我已经检查过我们是否只将其作为项目引用。我们只有这样一个项目

有人知道为什么会发生这种错误吗?这个PublicKeyToken错误来自哪里

我已经尝试过的:

  • 删除对此项目的所有引用,然后重新创建引用
  • 搜索其中一个项目是否具有copyLocal=true(不是这种情况)或直接引用DLL(不是这种情况)
请注意:

  • 构建被认为是成功的,但当我启动应用程序时,我得到了错误(基本上是一个错误,表示此dll与清单不匹配)
  • 如果我在使用这个的类中,我没有错误

我终于发现了这个问题,我发布了它,因为它可能会在将来帮助别人

问题是在合并之前,有一些项目具有不同的输出目录

因此,在执行重建时,一些项目在不同的目录中查找同一项目的多个引用


解决方案非常简单:一旦输出目录被手动删除,您就可以了:)

您使用的是后期签名吗?@LasseV.Karlsen我不知道这是什么,所以我想答案是否定的,但有一件事是可能的,那就是我们的构建服务器会更改一些程序集信息。在构建文件之后,不应该更改这些信息。您已经仔细检查了是否只有项目引用,而没有直接引用生成输出?例如,到bin\release\AA.BB.dll?是的,这是我第一次检查(当然,我删除了这个项目的所有引用,并再次添加了它们)。我看到我们目前用一个AA.BB.snk键对程序集进行了签名,但“仅延迟签名”复选框没有checked@J4N,从您上面发布的错误消息中,我们将检查这两个程序集是否具有相同的版本号;但一个有publicKeyToken,另一个没有。那么您是否曾经将该程序集安装到GAC中?如果是这样的话,卸载它并重新添加项目引用怎么样?