在编译时将文件复制到应用程序文件夹中

如果我想将某些文件从我的项目复制到编译时的.\bin\debug\文件夹中,那么似乎必须将它们放到项目的根目录中。 把它们放入一个子文件夹似乎将它们复制到它们存储在相同结构中的.\bin\debug\文件夹中。

有什么办法可以避免这种情况?

只是要清楚:如果我有一个ConfigFiles文件夹中的MyFirstConfigFile.txtMySecondConfigFile.txt ,并将其复制到输出设置为复制… ,然后它们出现在.\bin\debug\ConfigFiles\文件夹中。 我希望它们出现在.\bin\debug\文件夹中。

你可以用后期构build事件来做到这一点。 在编译时将文件设置为no action,然后在macros中将这些文件复制到所需的目录中。

这是一个后期构buildmacros,我认为将通过将所有文件复制到一个名为Configuration的目录到根目录生成文件夹:

 copy $(ProjectDir)Configuration\* $(ProjectDir)$(OutDir) 

你可以在你的csproj上使用MSBuild任务。

编辑你的csproj文件

  <Target Name="AfterBuild"> <Copy SourceFiles="$(OutputPath)yourfiles" DestinationFolder="$(YourVariable)" ContinueOnError="true" /> </Target> 

您也可以将文件或链接放入解决scheme资源pipe理器的根目录,然后设置文件属性:

Build action = Content

Copy to Output Directory = Copy if newer (例如)

对于一个链接拖动文件从Windows资源pipe理器到解决scheme资源pipe理器按住shift键和控制键。

在这里输入图像说明

你想在你的项目中使用Post-Build事件。 你可以在那里指定输出,还有常用的项目path,项目名称等的macros值。

我发现这个问题search“在编译时将文件复制到应用程序文件夹”。 OP似乎已经sorting了,但如果你不这样做:

在Visual Studio中,右键单击该文件,select属性,然后将“复制到输出”选项更改为“始终”。 请参阅http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx

您可以使用该项目的PostBuild事件。 生成完成后,您可以运行DOSbatch file并将所需的文件复制到所需的文件夹。