Skip to content

Commit 869beec

Browse files
authored
Merge branch 'release/10.0.2xx' into dev/jorobich/backport_48512
2 parents 4826691 + b5f5ff7 commit 869beec

File tree

293 files changed

+5755
-2719
lines changed

Some content is hidden

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

293 files changed

+5755
-2719
lines changed

.github/copilot-instructions.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
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.
48
- User-visible changes to behavior should be considered carefully before committing. They should always be flagged.
59
- When generating code, run `dotnet format` to ensure uniform formatting.
610
- Prefer using file-based namespaces for new code.
711
- Do not allow unused `using` directives to be committed.
12+
- Commit your changes, and then format them.
13+
- Add the format commit SHA to the .git-blame-ignore-revs file so that the commit doesn't dirty git blame in the future
14+
- Use `#if NET` blocks for .NET Core specific code, and `#if NETFRAMEWORK` for .NET Framework specific code.
815

916
Testing:
1017
- Large changes should always include test changes.

Directory.Packages.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@
8282
<PackageVersion Include="Microsoft.TestPlatform.Build" Version="$(MicrosoftTestPlatformBuildPackageVersion)" />
8383
<PackageVersion Include="Microsoft.TestPlatform.CLI" Version="$(MicrosoftTestPlatformCLIPackageVersion)" />
8484
<PackageVersion Include="Microsoft.VisualStudio.Composition" Version="17.4.16" />
85-
<PackageVersion Include="Microsoft.VisualStudio.Sdk" Version="17.2.32505.173" />
86-
<PackageVersion Include="Microsoft.VSSDK.BuildTools" Version="17.11.435" />
8785
<PackageVersion Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="$(MicrosoftVisualStudioSetupConfigurationInteropVersion)" />
8886
<PackageVersion Include="Microsoft.VisualStudio.SolutionPersistence" Version="$(MicrosoftVisualStudioSolutionPersistenceVersion)" />
8987
<PackageVersion Include="Microsoft.Web.Deployment" Version="$(WebDeploymentPackageVersion)" />
@@ -116,6 +114,7 @@
116114
<PackageVersion Include="runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver" Version="$(MicrosoftNETCoreDotNetHostResolverPackageVersion)" />
117115
<PackageVersion Include="runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver" Version="$(MicrosoftNETCoreDotNetHostResolverPackageVersion)" />
118116
<PackageVersion Include="runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver" Version="$(MicrosoftNETCoreDotNetHostResolverPackageVersion)" />
117+
<PackageVersion Include="Spectre.Console" Version="0.54.0" />
119118
<PackageVersion Include="StyleCop.Analyzers" Version="$(StyleCopAnalyzersPackageVersion)" />
120119
<PackageVersion Include="System.CodeDom" Version="$(SystemCodeDomPackageVersion)" />
121120
<PackageVersion Include="System.CommandLine" Version="$(SystemCommandLineVersion)" />

NuGet.config

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<clear />
55
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
66
<!-- Begin: Package sources from dotnet-dotnet -->
7+
<add key="darc-pub-dotnet-dotnet-b0f34d5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-dotnet-b0f34d51/nuget/v3/index.json" />
8+
<add key="darc-int-dotnet-dotnet-b0f34d5" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-dotnet-b0f34d51/nuget/v3/index.json" />
9+
<add key="darc-int-dotnet-dotnet-b0f34d5-1" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-dotnet-b0f34d51-1/nuget/v3/index.json" />
710
<!-- End: Package sources from dotnet-dotnet -->
811
<!-- Begin: Package sources from microsoft-testfx -->
912
<!-- End: Package sources from microsoft-testfx -->
@@ -29,8 +32,6 @@
2932
<add key="dotnet-tools-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json" />
3033
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
3134
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
32-
<add key="vssdk" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk/nuget/v3/index.json" />
33-
<add key="vssdk-archived" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk-archived/nuget/v3/index.json" />
3435
<add key="vs-impl" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json" />
3536
<!-- Used for Rich Navigation indexing task -->
3637
<add key="richnav" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-buildservices/nuget/v3/index.json" />
@@ -40,6 +41,10 @@
4041
<disabledPackageSources>
4142
<clear />
4243
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
44+
<!-- Begin: Package sources from dotnet-dotnet -->
45+
<add key="darc-int-dotnet-dotnet-b0f34d5-1" value="true" />
46+
<add key="darc-int-dotnet-dotnet-b0f34d5" value="true" />
47+
<!-- End: Package sources from dotnet-dotnet -->
4348
<!-- Begin: Package sources from dotnet-runtime -->
4449
<!-- End: Package sources from dotnet-runtime -->
4550
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->

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/decouple-vs-and-net-sdk.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ Based on the value of the `RoslynCompilerType` property, the SDK (or compiler to
145145

146146
These values are recognized for property `RoslynCompilerType`:
147147
- `Core`: use the compiler that comes with the .NET SDK
148-
- `Framework`: use the compiler that comes with .NET Framework MSBuild
148+
- `Framework`: use the compiler that comes with .NET Framework MSBuild (this option is [deprecated and will be removed in .NET 11](https://aka.ms/roslyn-compiler-type-framework))
149149
- `FrameworkPackage`: download the Microsoft.Net.Sdk.Compilers.Toolset package which contains the .NET Framework compiler corresponding to the .NET SDK version
150150
- `Custom`: the SDK will not override `RoslynTasksAssembly` and the other properties listed above - used for example by Microsoft.Net.Compilers.Toolset package which injects its own version of the build task
151151

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

0 commit comments

Comments
 (0)