首页 > 解决方案 > Visual Studio 将项目文件夹复制到输出目录(WPF 解决方案)

问题描述

在 VS2017 下,我有一个包含两个项目的 WPF 解决方案。

我在 SolutionDirectory 级别添加了一个“Bin”文件夹,将两个项目的生成的 dll 放入其中。

在我的一个项目中,我有两个文件夹,其中包含一些 xml 文件和一个服务器配置文件。

当构建运行时,我希望将这两个文件夹复制到我在与我的项目具有相同名称的文件夹下创建的 OutputDirectory (SolutionDirectory\Bin)

我的解决方案内容:

-->SolutionDir
   |-->Solution.sln
   |-->MyFirstProject (Folder)
   |-->MySecondProject(folder)
   |-->Bin (Folder where dlls are generated)

我的 MyFirstProject 的内容:

-->MyFirstProject
   |-->Configuration
      |-->Server.Config 
   |-->Topology
      |-->StartupVar.xml
      |-->SystemData.xml

我想要的是:

-->Bin
   |-->MyFirstProject
      |-->Configuration
      |-->Server.Config 
   |-->Topology
      |-->StartupVar.xml
      |-->SystemData.xml

   |-->MyFirstProject.Dll
   |-->MySecondProject.Dll

要复制项目 DLL,我使用了 Post-build 事件命令行:

copy /Y "$(TargetDir)$(TargetName).*" "$(SolutionDir)\Bin"

我试图做同样的事情来复制文件夹“配置”和“拓扑”,但它不起作用。

如何通过构建后事件命令行执行此操作?或者最好的方法是什么?

标签: c#.netmsbuildvisual-studio-2017

解决方案


如果问题是该COPY命令没有创建目标文件夹,请尝试使用XCOPY,作为您的构建后命令之一:

xcopy /Y "$(ProjectDir)\Topology" "$(SolutionDir)\Bin\$(ProjectName)\Topology\"

一定要包括终止符\。(该/Y开关可防止在覆盖现有文件之前进行确认。)


推荐阅读