代码之家  ›  专栏  ›  技术社区  ›  markerikson

Visual Studio-将“内容”文件发送到输出目录而不是子目录[[副本]

  •  20
  • markerikson  · 技术社区  · 14 年前

    可能重复:
    Copy to Output Directory copies folder structure but only want to copy files

    我正在使用VS2010。我有一个C项目,它使用了一些本地DLL。在我的源代码树中,我将这些本机文件存储在主解决方案目录下的“DLLs”目录中。在我的C#项目中,我有一个“DLLs”文件夹,其中列出了每个dll。每个DLL都被设置为构建操作“Content”,而“Copy to Output”被设置为“Always”。

    不幸的是,由于这些文件位于子目录中,VS似乎认为应该这样部署它们。它们不是部署到\bin\Debug,而是部署到\bin\Debug\dll。有没有直接的方法说服VS直接将它们部署到\bin\Debug,或者我必须执行某种定制的构建操作才能将它们复制到适当的位置?

    3 回复  |  直到 7 年前
        1
  •  21
  •   Hans Passant    14 年前

    这是因为您将它们放在解决方案的文件夹中。实用的解决方案是简单地将它们添加到解决方案根目录中,文件的实际位置无关紧要。这可能会在您的解决方案资源管理器窗口中造成一点混乱。如果这是不可接受的,那么使用xcopy/d的预构建事件就是解决方法。

    xcopy /d "$(ProjectDir)DLLs\*.dll" "$(TargetDir)"

        2
  •  0
  •   Sergey Mirvoda    14 年前

    我们正在使用 Build Events 为了这样的事。 只需编写xcopy命令并将所有dll复制到所需的文件夹中

        3
  •  0
  •   Jay    14 年前

    我认为你需要建立行动。不过,您不必创建一个完整的构建脚本——在“项目属性”的“构建事件”选项卡下,您可以在“后期构建事件命令行”中指定要执行的操作