Skip to content

Commit 6a4e43d

Browse files
authored
[automated] Merge branch 'release/10.0.2xx' => 'main' (#51814)
2 parents eb34dc9 + 009ba16 commit 6a4e43d

File tree

120 files changed

+2266
-990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+2266
-990
lines changed

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
Use the instructions from the main branch if available: @dotnet/sdk/files/.github/copilot-instructions.md
2+
3+
If the instructions from main are not available, use the following as a fallback:
4+
15
Coding Style and Changes:
26
- Code should match the style of the file it's in.
37
- Changes should be minimal to resolve a problem in a clean way.

build/RunTestsOnHelix.cmd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ set PATH=%DOTNET_ROOT%;%PATH%
1010
set DOTNET_MULTILEVEL_LOOKUP=0
1111
set TestFullMSBuild=%1
1212

13+
REM Ensure Visual Studio instances allow preview SDKs
14+
PowerShell -ExecutionPolicy ByPass -NoProfile -File "%HELIX_CORRELATION_PAYLOAD%\t\eng\enable-preview-sdks.ps1"
15+
1316
REM Use powershell to call partical Arcade logic to get full framework msbuild path and assign it
1417
if "%TestFullMSBuild%"=="true" (
1518
FOR /F "tokens=*" %%g IN ('PowerShell -ExecutionPolicy ByPass -File "%HELIX_CORRELATION_PAYLOAD%\t\eng\print-full-msbuild-path.ps1"') do (SET DOTNET_SDK_TEST_MSBUILD_PATH=%%g)

documentation/general/dotnet-run-file.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,16 @@ The directives are processed as follows:
248248
(because `ProjectReference` items don't support directory paths).
249249
An error is reported if zero or more than one projects are found in the directory, just like `dotnet reference add` would do.
250250

251+
Directive values support MSBuild variables (like `$(..)`) normally as they are translated literally and left to MSBuild engine to process.
252+
However, in `#:project` directives, variables might not be preserved during [grow up](#grow-up),
253+
because there is additional processing of those directives that makes it technically challenging to preserve variables in all cases
254+
(project directive values need to be resolved to be relative to the target directory
255+
and also to point to a project file rather than a directory).
256+
Note that it is not expected that variables inside the path change their meaning during the conversion,
257+
so for example `#:project ../$(LibName)` is translated to `<ProjectReference Include="../../$(LibName)/Lib.csproj" />` (i.e., the variable is preserved).
258+
However, variables at the start can change, so for example `#:project $(ProjectDir)../Lib` is translated to `<ProjectReference Include="../../Lib/Lib.csproj" />` (i.e., the variable is expanded).
259+
In other directives, all variables are preserved during conversion.
260+
251261
Because these directives are limited by the C# language to only appear before the first "C# token" and any `#if`,
252262
dotnet CLI can look for them via a regex or Roslyn lexer without any knowledge of defined conditional symbols
253263
and can do that efficiently by stopping the search when it sees the first "C# token".

documentation/manpages/sdk/dotnet-build-server.1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "dotnet-build-server" "1" "2025-06-13" "" ".NET Documentation"
17+
.TH "dotnet-build-server" "1" "2025-10-30" "" ".NET Documentation"
1818
.hy
1919
.SH dotnet build-server
2020
.PP
21-
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET Core 3.1 SDK and later versions
21+
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 SDK and later versions
2222
.SH NAME
2323
.PP
2424
dotnet-build-server - Interacts with servers started by a build.

documentation/manpages/sdk/dotnet-build.1

Lines changed: 25 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "dotnet-build" "1" "2025-09-30" "" ".NET Documentation"
17+
.TH "dotnet-build" "1" "2025-10-30" "" ".NET Documentation"
1818
.hy
1919
.SH dotnet build
2020
.PP
21-
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 and later versions
21+
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 SDK and later versions
2222
.SH NAME
2323
.PP
2424
dotnet-build - Builds a project, solution, or file-based app and all of its dependencies.
@@ -28,15 +28,13 @@ dotnet-build - Builds a project, solution, or file-based app and all of its depe
2828
\f[C]
2929
dotnet build [<PROJECT>|<SOLUTION>|<FILE>] [-a|--arch <ARCHITECTURE>]
3030
[--artifacts-path <ARTIFACTS_DIR>]
31-
[-c|--configuration <CONFIGURATION>] [-f|--framework <FRAMEWORK>]
32-
[--disable-build-servers]
33-
[--force] [--interactive] [--no-dependencies] [--no-incremental]
34-
[--no-restore] [--nologo] [--no-self-contained] [--os <OS>]
35-
[-o|--output <OUTPUT_DIRECTORY>]
36-
[-p|--property:<PROPERTYNAME>=<VALUE>]
37-
[-r|--runtime <RUNTIME_IDENTIFIER>]
38-
[-sc|--self-contained [true|false]] [--source <SOURCE>]
39-
[--tl:[auto|on|off]] [--use-current-runtime, --ucr [true|false]]
31+
[-c|--configuration <CONFIGURATION>] [--disable-build-servers]
32+
[-f|--framework <FRAMEWORK>] [--force] [--interactive]
33+
[--no-dependencies] [--no-incremental] [--no-restore] [--nologo]
34+
[--no-self-contained] [-o|--output <OUTPUT_DIRECTORY>] [--os <OS>]
35+
[-p|--property:<PROPERTYNAME>=<VALUE>] [-r|--runtime <RUNTIME_IDENTIFIER>]
36+
[--sc|--self-contained] [--source <SOURCE>]
37+
[--tl:[auto|on|off]] [ --ucr|--use-current-runtime]
4038
[-v|--verbosity <LEVEL>] [--version-suffix <VERSION_SUFFIX>]
4139

4240
dotnet build -h|--help
@@ -176,12 +174,6 @@ Forces all dependencies to be resolved even if the last restore was successful.
176174
Specifying this flag is the same as deleting the \f[I]project.assets.json\f[R] file.
177175
.RE
178176
.IP \[bu] 2
179-
\f[B]\f[VB]-?|-h|--help\f[B]\f[R]
180-
.RS 2
181-
.PP
182-
Prints out a description of how to use the command.
183-
.RE
184-
.IP \[bu] 2
185177
\f[B]\f[VB]--interactive\f[B]\f[R]
186178
.RS 2
187179
.PP
@@ -218,9 +210,7 @@ Doesn\[cq]t display the startup banner or the copyright message.
218210
\f[B]\f[VB]--no-self-contained\f[B]\f[R]
219211
.RS 2
220212
.PP
221-
Publishes the application as a framework dependent application.
222-
A compatible .NET runtime must be installed on the target machine to run the application.
223-
Available since .NET 6 SDK.
213+
Equivalent to \f[V]--self-contained false\f[R].
224214
.RE
225215
.IP \[bu] 2
226216
\f[B]\f[VB]-o|--output <OUTPUT_DIRECTORY>\f[B]\f[R]
@@ -272,12 +262,11 @@ If you use this option with .NET 6 SDK, use \f[V]--self-contained\f[R] or \f[V]-
272262
If not specified, the default is to build for the current OS and architecture.
273263
.RE
274264
.IP \[bu] 2
275-
\f[B]\f[VB]--self-contained [true|false]\f[B]\f[R]
265+
\f[B]\f[VB]--sc|--self-contained\f[B]\f[R]
276266
.RS 2
277267
.PP
278-
Publishes the .NET runtime with the application so the runtime doesn\[cq]t need to be installed on the target machine.
279-
The default is \f[V]true\f[R] if a runtime identifier is specified.
280-
Available since .NET 6.
268+
Publish the .NET runtime with your application so the runtime doesn\[cq]t need to be installed on the target machine.
269+
The default is \f[V]true\f[R].
281270
.RE
282271
.IP \[bu] 2
283272
\f[B]\f[VB]--source <SOURCE>\f[B]\f[R]
@@ -314,23 +303,18 @@ Any diagnostics generated for that project.
314303
This option is available starting in .NET 8.
315304
.RE
316305
.IP \[bu] 2
317-
\f[B]\f[VB]-v|--verbosity <LEVEL>\f[B]\f[R]
306+
\f[B]\f[VB]--ucr|--use-current-runtime\f[B]\f[R]
318307
.RS 2
319308
.PP
320-
Sets the verbosity level of the command.
321-
Allowed values are \f[V]q[uiet]\f[R], \f[V]m[inimal]\f[R], \f[V]n[ormal]\f[R], \f[V]d[etailed]\f[R], and \f[V]diag[nostic]\f[R].
322-
The default is \f[V]minimal\f[R].
323-
By default, MSBuild displays warnings and errors at all verbosity levels.
324-
To exclude warnings, use \f[V]/property:WarningLevel=0\f[R].
325-
For more information, see <xref:Microsoft.Build.Framework.LoggerVerbosity> and WarningLevel.
309+
Use the current runtime as the target runtime.
326310
.RE
327311
.IP \[bu] 2
328-
\f[B]\f[VB]--use-current-runtime, --ucr [true|false]\f[B]\f[R]
312+
\f[B]\f[VB]-v|--verbosity <LEVEL>\f[B]\f[R]
329313
.RS 2
330314
.PP
331-
Sets the \f[V]RuntimeIdentifier\f[R] to a platform portable \f[V]RuntimeIdentifier\f[R] based on the one of your machine.
332-
This happens implicitly with properties that require a \f[V]RuntimeIdentifier\f[R], such as \f[V]SelfContained\f[R], \f[V]PublishAot\f[R], \f[V]PublishSelfContained\f[R], \f[V]PublishSingleFile\f[R], and \f[V]PublishReadyToRun\f[R].
333-
If the property is set to false, that implicit resolution will no longer occur.
315+
Sets the verbosity level of the command.
316+
Allowed values are \f[V]q[uiet]\f[R], \f[V]m[inimal]\f[R], \f[V]n[ormal]\f[R], \f[V]d[etailed]\f[R], and \f[V]diag[nostic]\f[R].
317+
For more information, see <xref:Microsoft.Build.Framework.LoggerVerbosity>.
334318
.RE
335319
.IP \[bu] 2
336320
\f[B]\f[VB]--version-suffix <VERSION_SUFFIX>\f[B]\f[R]
@@ -340,6 +324,12 @@ Sets the value of the \f[V]$(VersionSuffix)\f[R] property to use when building t
340324
This only works if the \f[V]$(Version)\f[R] property isn\[cq]t set.
341325
Then, \f[V]$(Version)\f[R] is set to the \f[V]$(VersionPrefix)\f[R] combined with the \f[V]$(VersionSuffix)\f[R], separated by a dash.
342326
.RE
327+
.IP \[bu] 2
328+
\f[B]\f[VB]-?|-h|--help\f[B]\f[R]
329+
.RS 2
330+
.PP
331+
Prints out a description of how to use the command.
332+
.RE
343333
.SH EXAMPLES
344334
.IP \[bu] 2
345335
Build a project and its dependencies:

documentation/manpages/sdk/dotnet-clean.1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "dotnet-clean" "1" "2025-09-30" "" ".NET Documentation"
17+
.TH "dotnet-clean" "1" "2025-10-30" "" ".NET Documentation"
1818
.hy
1919
.SH dotnet clean
2020
.PP
21-
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 and later versions
21+
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 SDK and later versions
2222
.SH NAME
2323
.PP
2424
dotnet-clean - Cleans the output of a project.

documentation/manpages/sdk/dotnet-dev-certs.1

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
. ftr VB CB
1616
. ftr VBI CBI
1717
.\}
18-
.TH "dotnet-dev-certs" "1" "2025-06-13" "" ".NET Documentation"
18+
.TH "dotnet-dev-certs" "1" "2025-10-30" "" ".NET Documentation"
1919
.hy
2020
.SH dotnet dev-certs
2121
.PP
22-
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET Core 3.1 SDK and later versions
22+
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 SDK and later versions
2323
.SH NAME
2424
.PP
2525
dotnet-dev-certs - Generates a self-signed certificate to enable HTTPS use in development.
@@ -28,7 +28,8 @@ dotnet-dev-certs - Generates a self-signed certificate to enable HTTPS use in de
2828
.nf
2929
\f[C]
3030
dotnet dev-certs https
31-
[-c|--check] [--clean] [-ep|--export-path <PATH>]
31+
[-c|--check] [--check-trust-machine-readable]
32+
[--clean] [-ep|--export-path <PATH>]
3233
[--format] [-i|--import] [-np|--no-password]
3334
[-p|--password] [-q|--quiet] [-t|--trust]
3435
[-v|--verbose] [--version]
@@ -91,6 +92,12 @@ Checks for the existence of the development certificate but doesn\[cq]t perform
9192
Use this option with the \f[V]--trust\f[R] option to check if the certificate is not only valid but also trusted.
9293
.RE
9394
.IP \[bu] 2
95+
\f[B]\f[VB]--check-trust-machine-readable\f[B]\f[R]
96+
.RS 2
97+
.PP
98+
Same as running \f[V]--check --trust\f[R], but outputs the results in JSON.
99+
.RE
100+
.IP \[bu] 2
94101
\f[B]\f[VB]--clean\f[B]\f[R]
95102
.RS 2
96103
.PP

documentation/manpages/sdk/dotnet-environment-variables.7

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "dotnet-environment-variables" "7" "2025-07-30" "" ".NET Documentation"
17+
.TH "dotnet-environment-variables" "7" "2025-10-30" "" ".NET Documentation"
1818
.hy
1919
.SH NAME
2020
.PP
2121
dotnet-environment-variables - .NET environment variables
2222
.SH DESCRIPTION
2323
.PP
24-
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET Core 3.1 SDK and later versions
24+
\f[B]This article applies to:\f[R] \[u2714]\[uFE0F] .NET 6 SDK and later versions
2525
.PP
2626
In this article, you\[cq]ll learn about the environment variables used by .NET.
2727
Some environment variables are used by the .NET runtime, while others are only used by the .NET SDK and .NET CLI.
@@ -178,40 +178,6 @@ To opt-out, set the value to either \f[V]false\f[R] or \f[V]0\f[R].
178178
.PP
179179
Starting in .NET 5, this setting to use <xref:System.Net.Http.HttpClientHandler> is no longer available.
180180
.RE
181-
.SS \f[V]DOTNET_Jit*\f[R] and \f[V]DOTNET_GC*\f[R]
182-
.PP
183-
There are two stressing-related features for the JIT and JIT-generated GC information: JIT Stress and GC Hole Stress.
184-
These features provide a way during development to discover edge cases and more \[lq]real world\[rq] scenarios without having to develop complex applications.
185-
The following environment variables are available:
186-
.IP \[bu] 2
187-
\f[V]DOTNET_JitStress\f[R]
188-
.IP \[bu] 2
189-
\f[V]DOTNET_JitStressModeNamesOnly\f[R]
190-
.IP \[bu] 2
191-
\f[V]DOTNET_GCStress\f[R]
192-
.SS JIT stress
193-
.PP
194-
Enabling JIT Stress can be done in several ways.
195-
Set \f[V]DOTNET_JitStress\f[R] to a non-zero integer value to generate varying levels of JIT optimizations based on a hash of the method\[cq]s name.
196-
To apply all optimizations set \f[V]DOTNET_JitStress=2\f[R], for example.
197-
Another way to enable JIT Stress is by setting \f[V]DOTNET_JitStressModeNamesOnly=1\f[R] and then requesting the stress modes, space-delimited, in the \f[V]DOTNET_JitStressModeNames\f[R] variable.
198-
.PP
199-
As an example, consider:
200-
.IP
201-
.nf
202-
\f[C]
203-
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
204-
\f[R]
205-
.fi
206-
.SS GC Hole stress
207-
.PP
208-
Enabling GC Hole Stress causes GCs to always occur in specific locations and that helps to track down GC holes.
209-
GC Hole Stress can be enabled using the \f[V]DOTNET_GCStress\f[R] environment variable.
210-
.PP
211-
For more information, see Investigating JIT and GC Hole stress (https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/jit/investigate-stress.md).
212-
.SS JIT memory barriers
213-
.PP
214-
The code generator for Arm64 allows all \f[V]MemoryBarriers\f[R] instructions to be removed by setting \f[V]DOTNET_JitNoMemoryBarriers\f[R] to \f[V]1\f[R].
215181
.SS \f[V]DOTNET_RUNNING_IN_CONTAINER\f[R] and \f[V]DOTNET_RUNNING_IN_CONTAINERS\f[R]
216182
.PP
217183
The official .NET images (Windows and Linux) set the well-known environment variables:
@@ -457,11 +423,6 @@ If set to \f[V]1\f[R] (enabled), enables rolling forward to a pre-release versio
457423
By default (\f[V]0\f[R] - disabled), when a release version of .NET runtime is requested, roll-forward will only consider installed release versions.
458424
.PP
459425
For more information, see the \f[V]--roll-forward\f[R] option for the \f[V]dotnet\f[R] command.
460-
.SS \f[V]DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX\f[R]
461-
.PP
462-
Disables minor version roll forward, if set to \f[V]0\f[R].
463-
This setting is superseded in .NET Core 3.0 by \f[V]DOTNET_ROLL_FORWARD\f[R].
464-
The new settings should be used instead.
465426
.SS \f[V]DOTNET_CLI_FORCE_UTF8_ENCODING\f[R]
466427
.PP
467428
Forces the use of UTF-8 encoding in the console, even for older versions of Windows 10 that don\[cq]t fully support UTF-8.

0 commit comments

Comments
 (0)