Как опубликовать несколько сред выполнения с помощью dotnet cli в пользовательских папках вывода - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть файл csproj, который содержит несколько целевых сред выполнения, и я надеялся получить единственную команду, которую я мог бы запустить, которая соберет их все и поместит в назначенный каталог. Примерно так:

dotnet publish -c release -o ../../some-dist-folder

Если я запускаю эту команду, я получаю some-dist-folder, полный хороших вещей, но я не уверен, выводит ли она только одну или все среды выполнения, поскольку папка содержит:

|- *.dll
|- Refs
   |- *.dll
|- Runtimes
   |- Lots of folders

Так что нет никакого exe (не удивительно, что это только вещь для Windows), и Runtime, похоже, содержит множество папок, относящихся к различным средам исполнения linux / mac / windows и т. Д.

Однако, если я должен был бежать:

dotnet publish -c release -r win-x64 -o ../../some-dist-folder

Я получаю некоторые apphost.exe и некоторые другие файлы, а папка среды выполнения пропала, поэтому мне остается задаться вопросом, не работает ли на самом деле прежний подход, когда я пытаюсь просто собрать все сразу, и мне нужно явно опубликовать для каждой платформе или, если мне нужно, вручную выбрать нужные биты из вывода.

В идеале я надеялся запустить команду, подобную приведенной выше, и получить выходную папку, например:

|- some-dist-folder
   |- win-x64
   |- osx-some-version
   |- some-linux-distro-version
   |- other-runtimes-version

Так можно ли приблизиться к этому в одной команде или просто безопаснее вручную явно запускать каждую публикацию?

...