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

.net 如何使用dotnet cli将多个运行时发布到自定义输出文件夹,.net,.net-core,dotnet-cli,.net,.net Core,Dotnet Cli,我有一个csproj文件,其中包含一些目标运行时,我希望有一个可以运行的单一命令,该命令将构建它们并将它们放在指定的目录中。大概是这样的: dotnet publish -c release -o ../../some-dist-folder 如果我运行这个命令,我会得到一个some dist文件夹,里面充满了好东西,但我不确定它是只输出一个运行时还是所有运行时,因为该文件夹包含: |- *.dll |- Refs |- *.dll |- Runtimes |- Lots of f

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

dotnet publish -c release -o ../../some-dist-folder
如果我运行这个命令,我会得到一个
some dist文件夹
,里面充满了好东西,但我不确定它是只输出一个运行时还是所有运行时,因为该文件夹包含:

|- *.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
和一些其他文件,运行时文件夹也不见了,所以我想知道前一种方法(我试图一次构建所有内容)是否真的不起作用,我需要为每个平台显式发布,或者我是否需要手动从输出中挑选我关心的部分

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

|- some-dist-folder
   |- win-x64
   |- osx-some-version
   |- some-linux-distro-version
   |- other-runtimes-version
因此,我可以在一个命令中接近这一点,还是显式手动运行每个发布更安全