Автоматическое копирование всех файлов каталога с помощью выполнения пост-сборки в vs19

Я хочу создать свою игру, используя параметр, создающий один файл (я думаю, мой vs на французском), но это не копирует мою папку Content /

Я немного поискал и нашел в .csproj штуку с исполнением PostBuild. Я попробовал кое-что, и это сработало.

Вот что сделано

xcopy "$(ProjectDir)Content" "$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\win86\Content" /s /y

но это совсем не автоматизировано. У меня есть фиксированный вывод $ (ProjectDir) bin \ Release \ netcoreapp3.1 \ publish \ Latest \ win86 \ Content, поэтому, если я хочу опубликовать на Mac и Linux, файлы не будут скопированы в правильное место.

Итак, существует ли переменная среды, которая содержит выходной каталог публикации, соответственно:

$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\win86\    for win-x86
$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\osx64\    for osx-x64
$(ProjectDir)bin\Release\netcoreapp3.1\publish\Latest\lin64\    for linux-x64

Папки сделаны вручную и укоренены вручную, поэтому мне просто нужна переменная типа OutputDir или что-то в этом роде.

Так что я могу использовать это так

xcopy "$(ProjectDir)Content" "$(OutputDir)Content" /s /y

Мне не удалось найти ответ в документации Microsoft.

Буду благодарен за любую помощь


person Louis BERTRAND    schedule 29.06.2020    source источник


Ответы (1)


Вот MSDN Список общих макросов для команд MSBuild, используемых в определениях файлов проекта.

Внутри вы найдете:

$ (TargetDir)

Каталог основного выходного файла для сборки (определяется как диск + путь); включает в себя обратную косую черту в конце ''.

Также обратите внимание, что в представлении «Свойства» вашего проекта в Visual Studio, рядом с местом, где вы можете редактировать сценарии Post Build, вы можете нажать кнопку «Макросы» ››, чтобы просмотреть список макросов и их значения.

макросы

person Sean Skelly    schedule 29.06.2020
comment
так что теперь у меня есть xcopy $ (ProjectDir) Content $ (TargetDir) Content / s / y - person Louis BERTRAND; 29.06.2020
comment
Рад слышать, что это сработало. Если это действительно решает проблему, подумайте о том, чтобы пометить свой вопрос как «Отвеченный», чтобы другие пользователи, выполняющие поиск, позже узнали, что это так. Если это решает проблему только частично, вы можете добавить сюда дополнительные комментарии, чтобы прояснить ситуацию, или обновить свой вопрос, указав более подробную информацию о том, что не работает. - person Sean Skelly; 29.06.2020
comment
Спасибо я забыл это сделать - person Louis BERTRAND; 29.06.2020