Кроссплатформенное решение для копирования файлов после компиляции

В проекте .NET Core я хочу скопировать некоторые dll после компиляции проекта. Я успешно сделал это с помощью простой настройки операции xcopy в разделе scripts -> postcompile файла project.json.

Я хочу, чтобы эта операция копирования была кроссплатформенной, поэтому xcopy не подходит (по крайней мере, для Mac/Linux). Есть ли способ скопировать файлы, которые работают на разных платформах, или какой-то способ определить платформу, чтобы я мог разветвиться и вызвать сценарий cmd в Windows и сценарий оболочки в Mac/Linux?


person Henrik Nielsen    schedule 28.10.2016    source источник


Ответы (1)


Предполагая, что вы используете систему сборки project.json, это можно сделать, указав файл сценария без расширения файла в разделе «сценарии».

"scripts": {
  "postcompile": "copy-assets"
}

Для поддержки кроссплатформенности вам понадобятся два файла сценария в той же папке, что и project.json, copy-assets.cmd и copy-assets.sh. Убедитесь, что chmod +x ваш файл .sh может быть выполнен.

person natemcmaster    schedule 31.10.2016
comment
Будет ли указанное выше значение посткомпиляции, которое является копией активов (без расширения sh или cmd), автоматически выбирать copy-assets.sh на Mac и выбирать copy-assets.cmd в Windows? - person whyAto8; 23.05.2019