如何使用dotnet cli将多个运行时发布到自定义输出文件夹

时间:2018-11-12 11:42:17

标签: .net .net-core dotnet-cli

我有一个csproj文件,其中包含一些目标运行时,并且我希望有一个可以运行的单一命令,该命令可以将它们全部构建并放在指定的目录中。像这样:

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

如果我运行此命令,我将得到一个some-dist-folder的好东西,但是我不确定它是输出单个运行时还是所有运行时,因为该文件夹包含:

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

因此没有exe文件(这并不奇怪,因为那只是Windows的事情),并且运行时似乎包含与各种linux / mac / windows运行时等相关的文件夹的负载。

但是如果我要跑步:

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

我得到了一些apphost.exe和一些其他文件,并且runtimes文件夹不见了,所以我想知道以前试图一次性构建所有内容的前一种方法是否真的不起作用,我需要明确为每个平台发布,或者是否需要从输出中手动挑选出我关心的部分。

理想情况下,我希望运行上述命令,并获得一个输出文件夹,如:

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

那么我可以通过一个命令来解决这个问题,还是手动运行每个显式发布更安全吗?

0 个答案:

没有答案