Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何告诉VisualStudio或在生成后拾取文件并将其部署到bin目录?_Visual Studio_Visual Studio 2012_Msbuild - Fatal编程技术网

Visual studio 如何告诉VisualStudio或在生成后拾取文件并将其部署到bin目录?

Visual studio 如何告诉VisualStudio或在生成后拾取文件并将其部署到bin目录?,visual-studio,visual-studio-2012,msbuild,Visual Studio,Visual Studio 2012,Msbuild,我确实有一些配置文件和dll文件是运行最终产品所需要的,我想指示VisualStudioBuild来获取它们 到目前为止,将它们添加到项目中很容易,但我无法确定需要为这些文件设置的属性的正确组合,以便在bin目录(target)中获取文件 注意:这里的术语deploy并不是指构建后部署,这将是一个自定义任务 到目前为止,我看到了这些选择: 已从生成中排除:否 内容:是的 项目类型:包含约20个选项的列表,但没有一个听起来像是可行的。大部分我都试过了 选择需要配置文件的项目,右键单击该项目,然后

我确实有一些配置文件和dll文件是运行最终产品所需要的,我想指示VisualStudioBuild来获取它们

到目前为止,将它们添加到项目中很容易,但我无法确定需要为这些文件设置的属性的正确组合,以便在bin目录(target)中获取文件

注意:这里的术语deploy并不是指构建后部署,这将是一个自定义任务

到目前为止,我看到了这些选择:

  • 已从生成中排除:否
  • 内容:是的
  • 项目类型:包含约20个选项的列表,但没有一个听起来像是可行的。大部分我都试过了

选择需要配置文件的项目,右键单击该项目,然后选择属性
转到生成事件选项卡,并键入生成后事件命令行如下所示

copy pathfiletocopy $(ProjectDir)$(OutDir)
现在,您可以选中“仅在成功构建时复制”选项

当然,您需要根据自己的喜好调整命令行。

还可以按“编辑后期生成”按钮,查看预定义宏的列表,这些宏引用了与项目和解决方案相关的特定信息。您还可以插入其他CMD shell命令,如IF$(ConfigurationName)==“Release”,以仅在编译发布而不是调试时执行命令(例如运行模糊处理程序)

谢谢,这主要是当前的实现,但我不想使用copy mecanism,原因有两个:一个是它总是复制(我仍然可以使用robocopy并将其包括在我的项目中,因为它不随windows提供)。另外,第二个原因是很难更新要复制的文件列表。我仍然认为这应该是一种在解决方案资源管理器中查看该字段并能够从中添加/删除它们的方法。如果没有其他选择,我会考虑这个答案:)我在项目中添加了一个名为ExtLeBiBS的项目文件夹,在这个文件夹中,我添加了一个批处理命令,它在后期生成事件中被调用。批处理文件包含所需的复制命令。单个文件直接添加到此ExternalIBS文件夹中。因此,我可以很容易地看到所有涉及的文件,只需打开批处理文件,就可以包含/排除要复制的文件。还要记住属性
Copy To Output Directory
,它可以帮助您处理每个文件。希望能有帮助