【问题标题】:dll copied to output path from wrong folderdll从错误的文件夹复制到输出路径
【发布时间】:2009-04-05 09:42:18
【问题描述】:

我的解决方案中的所有项目都有一个输出路径“..\Release”用于发布版本,“..\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".

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

【问题讨论】:

    标签: .net visual-studio dll msbuild


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我想我没有正确地解释我自己。从错误文件夹复制的 dll 是正在构建的同一项目的 dll。我说的第一个项目。只是为了说明问题不在解决方案中,因为有些项目还可以。
      • 实际上我在构建日志上搜索了“\obj\debug”,发现有一个项目引用了该路径,然后我才明白你的答案。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 2017-09-01
      • 2013-03-26
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      相关资源
      最近更新 更多