在构建过程中将Visual Studio项目文件复制到输出目录中

问题描述 投票:40回答:8

当我构建Visual Studio项目时,可执行文件将写入项目属性页中指定的输出目录。

我有一个项目,其中包含一些程序使用的额外文件(例如.ini文件。

我如何配置项目以将文件复制到输出目录,以便在程序运行时,其CWD中具有另一个文件的副本?

我检查了文件的属性页,除了将其从构建中排除(已禁用)的选项之外,没有任何其他有用的东西,并且custom-build-tool命令为空(加上它是纯文本文件)不需要任何处理)。

visual-studio build projects-and-solutions visual-studio-2003
8个回答
39
投票

要在Visual Studio 2003中将文件复制到输出目录,可以使用Post-Build事件:

  1. 右键单击项目->属性
  2. 公共属性->构建事件
  3. 将构建后事件命令行设置为:

    xcopy /y $(ProjectDir)my_file.ini  $(ProjectDir)$(OutDir)
    
  4. 确定并构建!


29
投票

请尝试在解决方案资源管理器中选择文件。然后,您应该能够在“属性”窗口中查看其属性(如果看不见,请按F4)。您将找到两个属性:

  • “构建动作”和
  • “复制到输出目录”

将“生成操作”设置为“内容”,然后-为“复制到输出目录”设置选择适当的值。

具有“生成操作”和“复制到输出目录”设置的文件属性窗口

如果上述方法对您不起作用,请阅读此帖子“ Copy to output directory issue with .inf file”。看看这一个然后“ Visual Studio: default build action for non-default file-types

希望有所帮助


5
投票
[当我在文件的属性页中搜索构建动作字段时,我有个想法:将自定义构建步骤设置为

copy


3
投票
对于VS 2017,Dmitry Pavlov发布的命令如下:

1
投票
如果这可以帮助任何人,我需要将我正在构建的项目的输出dll复制到另一个项目中。

0
投票
您需要额外的$(OutDir)。否则,在重建/清理步骤中,它将丢弃您的源代码。

0
投票
改进Synetech回答:

0
投票
扩展Synetech的答案。
© www.soinside.com 2019 - 2024. All rights reserved.