Копирование файлов в папку приложения во время компиляции
если у меня есть некоторые файлы, которые я хочу скопировать из моего проекта в .bindebug папка на компиляции, то, кажется, я должен положить их в корень проекта. Помещая их в подпапку, кажется, скопировать их в .bindebug папка в той же структуре, в которой они хранятся.
есть ли способ избежать этого?
просто чтобы было понятно: если у меня есть MyFirstConfigFile.txt и MySecondConfigFile.txt на ConfigFiles папка и я установил их копировать в выходной будет копировать..., то они появляются в .bindebugConfigFiles папка. Я хочу, чтобы они появились в .
6 ответов:
вы можете сделать это с помощью события post build. Установите для файлов значение нет действия при компиляции, а затем в макросе скопируйте файлы в нужный каталог.
вот макрос post build, который, я думаю, будет работать, копируя все файлы в каталоге с именем Configuration в корневую папку сборки:
copy $(ProjectDir)Configuration\* $(ProjectDir)$(OutDir)
вы можете использовать задачу MSBuild на своем csproj, например.
отредактируйте файл csproj
<Target Name="AfterBuild"> <Copy SourceFiles="$(OutputPath)yourfiles" DestinationFolder="$(YourVariable)" ContinueOnError="true" /> </Target>
вы хотите использовать событие после построения проекта. Вы можете указать выходные данные там, и есть значения макросов для часто используемых вещей, таких как путь к проекту, имя элемента и т. д.
Я нашел этот вопрос в поиске "скопировать файлы в папку приложения во время компиляции". OP, похоже, уже отсортировал это, но если вы этого не сделаете:
в Visual Studio щелкните правой кнопкой мыши файл, выберите Свойства, а затем измените параметр "копировать для вывода" на "всегда". См.http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx
вы можете использовать событие PostBuild проекта. После завершения сборки можно запустить пакетный файл DOS и скопировать нужные файлы в нужную папку.

Comments