dotnet发布和dotnet包之间的主要区别是什么

Los*_*ost 16 .net nuget nuget-package .net-core dotnet-cli

我很乐意pack,我正在经历不同的命令.使我有点困惑的命令是试图弄清楚dotnet publish和.net之间的主要区别pack.我的意思是看看他们在这个页面上的描述:

https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet

我的理解是publishpublish创建包+ DLL 时创建包.

那是对的吗?如果是这样,为什么不一直使用pack而不是使用DLL文件,如果我们不想这样做.真的吗?

t0m*_*13b 12

dotnet pack- 创建代码的NuGet包.

这是关键的区别 - 这将使得能够发布到http://nuget.org,或者可以被其他开发人员拉下来的nuget服务器,甚至可以用于Octopus Deploy.

dotnet publish- 发布依赖于.NET框架或自包含的应用程序.

关键字是"自包含",可能是安装程序,或者是可以通过在主机之间复制/粘贴来部署的文件夹.


Mar*_*ich 5

添加到@ t0mm13b的答案:

dotnet pack:输出是一个程序包,旨在供其他项目重用

dotnet publish:输出是要被部署/“装运”的-它不是单个“包文件”,而是包含所有项目输出的目录。