为什么要在dotnet发布之前打扰dotnet?

时间:2019-09-07 21:16:22

标签: build .net-core

欢迎。这似乎是我要面对面看到答案的问题类型。

所以...

为什么在做dotnet build之前先打扰dotnet publish

build自动执行restore。凉。

似乎publishbuild(除非您告诉它不要这样做)。所以...如果您要在之后发布,为什么还要花时间进行构建?为什么不只是发布而一切都一步一步完成?

为进一步澄清...

我在一个基本的情况下问:

  • dotnet build -c Release MyProj
  • dotnet publish -c Release -o /somedir MyProj

与公正

  • dotnet publish -c Release -o /somedir MyProj

他们似乎在做同样的事情。

1 个答案:

答案 0 :(得分:2)

您是对的,dotnet publish自动执行dotnet build已经执行的所有操作。在大多数情况下(如您的问题中提到的那样),这意味着不需要额外的dotnet build

请注意,您可以dotnet build个解决方案,但只能dotnet publish个单独的项目文件。发布解决方案可能会导致意外结果(从覆盖不同版本的文件到发布配置中的库项目,这些配置不应与引用应用程序一起发布到同一输出目录中,等等)

随着时间的流逝,有一个社区要求允许发布和测试,而不必重新构建应用程序,因为有些用户只使用经过测试的相同二进制文件发布应用程序就感到更加自在,因此其构建脚本如下所示:< / p>

  1. dotnet build the.sln -c Release
  2. dotnet test -c Release --no-build
  3. dotnet publish the\app.csproj --no-build -c Release