Andrew Ducker Andrew Ducker - 3 months ago 19
C# Question

Copying files into the application folder at compile time

If I have some files I want to copy from my project into the

.\bin\debug\
folder on compilation, then it seems I have to put them into the root of the project. Putting them into a subfolder seems to copy them into the
.\bin\debug\
folder in the same structure they're stored in.

Is there any way to avoid this?

Just to be clear: if I have a
MyFirstConfigFile.txt
and
MySecondConfigFile.txt
in a
ConfigFiles
folder and I set their Copy to Output to be Copy..., then they appear in the
.\bin\debug\ConfigFiles\
folder. I want them to appear in the
.\bin\debug\
folder.

Answer

You could do this with a post build event. Set the files to no action on compile, then in the macro copy the files to the directory you want.

Here's a post build Macro that I think will work by copying all files in a directory called Configuration to the root build folder:

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