dll从错误的文件夹复制到输出路径

时间:2009-04-05 09:42:19

标签: .net visual-studio dll msbuild

我的解决方案中的所有项目都有Release版本的“.. \ Release”和Debug版本的“.. \ Debug”。

除了一个项目之外,所有项目都运行良好。

每当我在Release中构建有问题的项目时,被复制到“.. \ Release”的dll来自“obj \ Debug”而不是“obj \ Release”。在VS和手动运行MSBuild构建时都会发生这种情况,但如果我先清理“obj \ Debug”文件夹,则不会发生这种情况。

这是我认为相关的构建日志的一部分:

17>Target CopyFilesToOutputDirectory:
17>  Task "Copy"
17>    Copying file from "obj\Release\XXXXX.dll" to "..\Release\XXXXX.dll".
17>    Command:
17>    copy /y "obj\Release\XXXXX.dll" "..\Release\XXXXX.dll"
17>  Done executing task "Copy".
17>  Task "Message"
17>    XXXXX -> C:\Dev\Service\Release\XXXXX.dll
17>  Done executing task "Message".

关于为什么会发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:1)

我意识到这个线程已被解决,但我遇到了这个相当令人沮丧的VS问题(bug?)。我的修复是简单地向正在从错误路径复制文件的项目添加obj \ release引用路径。

答案 1 :(得分:0)

您可能想要根据参考检查路径;它可能是你以某种方式引用它反对obj文件夹。这在csproj中比在IDE(“提示路径”或其他东西)中更容易看到。