Если у меня есть файлы, которые я хочу скопировать из моего проекта в .\bin\debug\
папку при компиляции, то мне кажется, что мне нужно поместить их в корень проекта. Помещение их во вложенную папку, кажется, копирует их в .\bin\debug\
папку в той же структуре, в которой они хранятся.
Есть ли способ избежать этого?
Чтобы быть ясным: если у меня есть MyFirstConfigFile.txt
и MySecondConfigFile.txt
в ConfigFiles
папке, и я установил для них Копировать на Выход как Копировать ... , то они появятся в .\bin\debug\ConfigFiles\
папке. Я хочу, чтобы они появились в .\bin\debug\
папке.
источник
copy "$(ProjectDir)subfolder_name\"* "$(ProjectDir)$(OutDir)"
$(OutDir)
(т.е. без$(ProjectDir)
) кажется ... иначе вы получите ошибки двойного путиВы можете использовать задачу MSBuild в своем csproj, например.
Отредактируйте ваш файл csproj
<Target Name="AfterBuild"> <Copy SourceFiles="$(OutputPath)yourfiles" DestinationFolder="$(YourVariable)" ContinueOnError="true" /> </Target>
источник
Вы также можете поместить файлы или ссылки в корень обозревателя решений, а затем установить свойства файлов:
Build action = Content
а также
Copy to Output Directory = Copy if newer
(например)Для ссылки перетащите файл из проводника Windows в проводник решений, удерживая нажатыми клавиши Shift и Control.
источник
Лично я предпочитаю этот способ.
Измените,
.csproj
чтобы добавить<ItemGroup> <ContentWithTargetPath Include="ConfigFiles\MyFirstConfigFile.txt"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <TargetPath>%(Filename)%(Extension)</TargetPath> </ContentWithTargetPath> </ItemGroup>
источник
копировать из подпапки в подпапку
if not exist "$(ProjectDir)$(OutDir)subfolder" mkdir "$(ProjectDir)$(OutDir)subfolder" copy "$(ProjectDir)subfolder\" "$(ProjectDir)$(OutDir)subfolder\"
источник
Вы хотите использовать событие Post-Build в своем проекте. Вы можете указать вывод там, и есть значения макросов для часто используемых вещей, таких как путь к проекту, имя элемента и т. Д.
источник
Вы можете использовать событие PostBuild проекта. После завершения сборки вы можете запустить командный файл DOS и скопировать нужные файлы в нужную папку.
источник
Я нашел этот вопрос в поисках «копировать файлы в папку приложения во время компиляции». OP, похоже, уже отсортировал это, но если вы этого не сделаете:
В Visual Studio щелкните файл правой кнопкой мыши, выберите свойства, затем измените параметр «копировать для вывода» на «всегда». См. Http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx
источник