【发布时间】:2019-09-07 21:16:22
【问题描述】:
很好。这似乎是我看到答案时会面面相觑的问题类型。
所以...
为什么要在dotnet publish 之前打扰dotnet build?
build 自动执行restore。凉爽的。
似乎publish 做了一个build(除非你告诉它不要这样做)。所以...如果您要在之后发布,为什么还要麻烦构建?为什么不直接发布,一切都在一步完成?
为了更清楚...
我在一个基本场景中询问:
dotnet build -c Release MyProjdotnet publish -c Release -o /somedir MyProj
与只是
dotnet publish -c Release -o /somedir MyProj
他们似乎做同样的事情。
【问题讨论】:
-
我不会直接回答你的问题,如果有区别的话,我会把它留给知道区别的人。但是,如果您有 1 个执行 17 件事情的命令,并且您有 17 个执行 1 件事情的其他命令,那么一次执行一个执行这 17 个命令会为您提供更好的处理问题的机会,因为只有少数问题您需要处理这 17 个命令中的每一个,而执行 17 件事情的 1 个命令可能会出现 17 个问题。
-
(意见)但是,知道这是由 Microsoft 构建的,可能会有一些重大差异,例如 nuget 包。使用 nuget 包,您有
nuget install、nuget restore、dotnet restore和msbuild /t:restore;xxx,它们似乎都做了不同的事情,您可能需要其中一些才能使构建继续进行。所以谁能说出来。如果dotnet publish做你想做的事,我会说不管文档告诉你什么,去吧。 -
请注意:如果您执行 dotnet publish --no-restore,那么 publish 不会构建,因此您需要构建步骤。