警告: 不能将项目“XXXX.XXXX.Project.Test”中的依赖项“XXXX.XXXX, Version=3.4.0.0, Culture=neutral, PublicKeyToken=216e3b75368a311c”复制到运行目录,因为它将改写引用“XXXX.XXXX, Version=3.4.0.9, Culture=neutral, PublicKeyToken=216e3b75368a311c”。
--------------------------多个工程引用到此组件,查看引用都是最新版本Version=3.4.0.9,但编译警告这些工程的依赖项都是Version=3.4.0.0,无法拷贝到运行目录?怎么修改此依赖为新版本或解决这个问题?谢谢·!

解决方案 »

  1.   

    也就是说,此错误的发生是因为解决方案中的项目之间相互引用,但这些引用被创建为文件引用(使用添加引用对话框中的“浏览”按钮),而不是项目到项目的引用(使用“添加引用”对话框上的“项目”选项卡)。项目到项目的引用的好处在于,它在生成系统中创建了项目之间的依赖项,因而如果从上次生成引用项目之后依赖项目发生了更改,就将生成该依赖项目。文件引用则不建立版本的依赖关系,因此有可能生成了引用项目而没有生成依赖项目,于是引用会变得过时;一个项目能引用该项目以前生成的版本。这会导致在 bin 目录中要求的单个 DLL 有几个版本,这是不可能的,因此就会出现此错误信息。
     
    http://msdn.microsoft.com/zh-cn/library/0z1t9z56.aspx
      

  2.   

    http://www.cnblogs.com/hjh1982/archive/2006/07/21/456624.html
      

  3.   

    解决方案:
    1. 有网友的文章中说,将AssemblyInfo.cs文件中的版本号,改成固定的版本号,这样就不会产生类似上面的事情.试验,但是那是没有用的,但是我还是建议这样来做.2. 搜索MSDN,终于找到了正确的答案.
    也就是说,此错误的发生是因为解决方案中的项目之间相互引用,但这些引用被创建为文件引用(使用添加引用对话框中的“浏览”按钮),而不是项目到项目的引用(使用“添加引用”对话框上的“项目”选项卡)。项目到项目的引用的好处在于,它在生成系统中创建了项目之间的依赖项,因而如果从上次生成引用项目之后依赖项目发生了更改,就将生成该依赖项目。文件引用则不建立版本的依赖关系,因此有可能生成了引用项目而没有生成依赖项目,于是引用会变得过时;一个项目能引用该项目以前生成的版本。这会导致在 bin 目录中要求的单个 DLL 有几个版本,这是不可能的,因此就会出现此错误信息。
     
      

  4.   

    项目有四五个工程都引用此组件,此组件不是偶项目中工程,是做为外部文件引用的。
    但我查了所有引用的工程都引用了正确的版本与路径。请看:
    警告: 不能将项目“XXXX.XXXX.Project.Test”中的依赖项“XXXX.XXXX, Version=3.4.0.0, Culture=neutral, PublicKeyToken=216e3b75368a311c”复制到运行目录,因为它将改写引用“XXXX.XXXX, Version=3.4.0.9, Culture=neutral, PublicKeyToken=216e3b75368a311c”。注意红色部分,依赖是低版本,现在的引用是高版本是正确的。还有编译是正常的,但使用此组件的功能有问题。
    我就在想这个依赖项是过时的怎么修改掉?
      

  5.   

    我也碰到了同的问题,引用Microsoft.ApplicationBlocks.ExceptionManagement.dll,老是那样提示,烦死了