Skip to content

dotnet build --help results in project evaluation and msbuild SDK resolution #27374

Closed
@shushanhf

Description

@shushanhf

Edit: See #27374 (comment) for investigation

Description

qiao@X64:~/work_qiao/dotnet-runtime-loongarch/.dotnet$ ./dotnet --info
.NET SDK (反映任何 global.json):
 Version:   6.0.108
 Commit:    4e3a463d2b

运行时环境:
 OS Name:     debian
 OS Version:  10
 OS Platform: Linux
 RID:         debian.10-x64
 Base Path:   /home/qiao/work_qiao/dotnet-runtime-loongarch/.dotnet/sdk/6.0.108/

global.json file:
  /home/qiao/work_qiao/dotnet-runtime-loongarch/global.json

Host:
  Version:      6.0.8
  Architecture: x64
  Commit:       55fb7ef977

.NET SDKs installed:
  6.0.108 [/home/qiao/work_qiao/dotnet-runtime-loongarch/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.8 [/home/qiao/work_qiao/dotnet-runtime-loongarch/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.8 [/home/qiao/work_qiao/dotnet-runtime-loongarch/.dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info


----------------------------------


qiao@X64:~/work_qiao/dotnet-runtime-loongarch/.dotnet$  time ./dotnet build --help
Description:
  .NET 生成器

Usage:
  dotnet [options] build [<PROJECT | SOLUTION>...]

Arguments:
  <PROJECT | SOLUTION>  要操作的项目或解决方案文件。如果没有指定文件,则命令将在当前目录里搜索一个文件。

Options:
  --use-current-runtime                将当前运行时用作目标运行时。
  -f, --framework <FRAMEWORK>          要生成的目标框架。必须在项目文件中指定目标框架。
  -c, --configuration <CONFIGURATION>  用于生成项目的配置。大多数项目的默认值是 "Debug"。
  -r, --runtime <RUNTIME_IDENTIFIER>   要生成的目标运行时。
  --version-suffix <VERSION_SUFFIX>    设置生成项目时使用的 $(VersionSuffix) 属性的值。
  --no-restore                         生成前请勿还原项目。
  --interactive                        允许命令停止和等待用户输入或操作(例如,用以完成身份验证)。
  -v, --verbosity <LEVEL>              设置 MSBuild 详细程度。允许值为 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。
  --debug
  -o, --output <OUTPUT_DIR>            要放置生成项目的输出目录。
  --no-incremental                     请勿使用增量生成。
  --no-dependencies                    请勿生成项目到项目引用,仅生成指定项目。
  --nologo                             不显示启动版权标志或版权消息。
  --sc, --self-contained               随应用程序一起发布 .NET 运行时,这样就不需要在目标计算机上安装运行时。
                                       如果指定了运行时标识符,则默认值为 "true"。
  --no-self-contained                  将应用程序发布为依赖框架的应用程序。目标计算机上必须安装兼容的 .NET 运行时才能运行该应用程序。
  -a, --arch <arch>                    目标体系结构。
  --os <os>                            目标操作系统。
  -?, -h, --help                       显示命令行帮助。



real	0m0.520s
user	0m0.413s
sys	0m0.028s

while the .NET7 is slower,

qiao@X64:~/work_qiao/runtime$ .dotnet/dotnet --info
.NET SDK (反映任何 global.json):
 Version:   7.0.100-preview.7.22377.5
 Commit:    ba310d9309

运行时环境:
 OS Name:     debian
 OS Version:  10
 OS Platform: Linux
 RID:         debian.10-x64
 Base Path:   /home/qiao/work_qiao/runtime/.dotnet/sdk/7.0.100-preview.7.22377.5/

Host:
  Version:      7.0.0-preview.7.22375.6
  Architecture: x64
  Commit:       eecb028078

.NET SDKs installed:
  7.0.100-preview.7.22377.5 [/home/qiao/work_qiao/runtime/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.0-preview.7.22376.6 [/home/qiao/work_qiao/runtime/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.0-preview.7.22375.6 [/home/qiao/work_qiao/runtime/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  /home/qiao/work_qiao/runtime/global.json

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download


-----------------------------------------

qiao@X64:~/work_qiao/runtime$ time .dotnet/dotnet build --help
Description:
  .NET 生成器

Usage:
  dotnet build [<PROJECT | SOLUTION>...] [options]

Arguments:
  <PROJECT | SOLUTION>  要操作的项目或解决方案文件。如果没有指定文件,则命令将在当前目录里搜索一个文件。

Options:
  --use-current-runtime                将当前运行时用作目标运行时。
  -f, --framework <FRAMEWORK>          要生成的目标框架。必须在项目文件中指定目标框架。
  -c, --configuration <CONFIGURATION>  用于生成项目的配置。大多数项目的默认值是 "Debug"。
  -r, --runtime <RUNTIME_IDENTIFIER>   要生成的目标运行时。
  --version-suffix <VERSION_SUFFIX>    设置生成项目时使用的 $(VersionSuffix) 属性的值。
  --no-restore                         生成前请勿还原项目。
  --interactive                        允许命令停止和等待用户输入或操作(例如,用以完成身份验证)。
  -v, --verbosity <LEVEL>              设置 MSBuild 详细程度。允许值为 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。
  --debug
  -o, --output <OUTPUT_DIR>            要放置生成项目的输出目录。
  --no-incremental                     请勿使用增量生成。
  --no-dependencies                    请勿生成项目到项目引用,仅生成指定项目。
  --nologo                             不显示启动版权标志或版权消息。
  --sc, --self-contained               随应用程序一起发布 .NET 运行时,这样就不需要在目标计算机上安装运行时。
                                       如果指定了运行时标识符,则默认值为 "true"。
  --no-self-contained                  将应用程序发布为依赖框架的应用程序。目标计算机上必须安装兼容的 .NET 运行时才能运行该应用程序。
  -a, --arch <arch>                    目标体系结构。
  --os <os>                            目标操作系统。
  --disable-build-servers              Force the command to ignore any persistent build servers.
  -?, -h, --help                       显示命令行帮助。




real	1m15.714s
user	1m11.285s
sys	0m7.549s

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions