Build 为什么要在dotnet发布之前进行dotnet构建呢?
好的。这似乎是我将要看到答案的问题类型 所以 在进行Build 为什么要在dotnet发布之前进行dotnet构建呢?,build,.net-core,Build,.net Core,好的。这似乎是我将要看到答案的问题类型 所以 在进行dotnet发布之前,为什么还要费心于dotnet构建 生成自动执行还原。酷 似乎publish会执行构建(除非您告诉它不要这样做)。所以如果你打算马上发布,为什么还要费心构建呢?为什么不一步到位地发布所有内容 为了进一步澄清 我是在一个基本场景中提问的,比如: dotnet构建-c发布MyProj dotnet发布-c发布-o/somedir MyProj 对正义 dotnet发布-c发布-o/somedir MyProj 他们似乎做
dotnet发布之前,为什么还要费心于dotnet构建
生成
自动执行还原
。酷
似乎publish
会执行构建
(除非您告诉它不要这样做)。所以如果你打算马上发布,为什么还要费心构建呢?为什么不一步到位地发布所有内容
为了进一步澄清
我是在一个基本场景中提问的,比如:
dotnet构建-c发布MyProj
dotnet发布-c发布-o/somedir MyProj
对正义
dotnet发布-c发布-o/somedir MyProj
他们似乎做了同样的事情。你是对的,dotnet发布
自动完成了dotnet构建
已经完成的所有工作。在大多数情况下,正如问题中提到的场景一样,这意味着不需要额外的dotnet构建
请注意,您可以dotnet构建
解决方案,但只应dotnet发布
单个项目文件。发布解决方案可能会导致意外结果(从覆盖不同版本的文件到发布配置中的库项目,这些配置不应发布到与引用应用程序相同的输出目录等)
随着时间的推移,有一个社区要求允许发布和测试,而无需重新构建应用程序,因为一些用户觉得只发布具有相同二进制文件的应用程序更舒服,这些二进制文件已经过测试,因此他们的构建脚本可以如下所示:
dotnet构建.sln-c版本
dotnet测试-c版本--无构建
dotnet发布\app.csproj--no build-c版本
我不会直接回答你的问题,我会把这个问题留给知道区别的人,如果有区别的话。但是,如果您有一个命令可以做17件事,而您还有17个其他命令可以做1件事,那么一次执行这17个命令会给您带来更好的处理问题的机会,因为您需要处理的这17个命令中的每一个都有一些问题,然而,知道这是由微软建立的,可能会有一些主要的区别,就像nuget软件包一样。有了nuget软件包,您就有了nuget安装
,nuget还原
,dotnet还原
和msbuild/t:restore;xxx
所有这些似乎都做了不同的事情,您可能需要其中的一些来启动构建。那么谁能说出来呢。如果dotnetpublish
符合您的要求,我会说忽略文档中告诉您的任何内容,随它去做。