Skip to content

Commit 6936d80

Browse files
ViktorHoferericstjlewingsbomersteveisok
authored
Target net11.0 / .NET 11 (#121853)
Contributes to #118583 For reference, this was last year's PR for net10.0. #106599 --------- Co-authored-by: Eric St. John <[email protected]> Co-authored-by: Larry Ewing <[email protected]> Co-authored-by: Sven Boemer <[email protected]> Co-authored-by: Steve Pfister <[email protected]> Co-authored-by: Adeel Mujahid <[email protected]> Co-authored-by: Pavel Savara <[email protected]> Co-authored-by: Milos Kotlar <[email protected]>
1 parent 61fac3b commit 6936d80

File tree

115 files changed

+1795
-2005
lines changed

Some content is hidden

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

115 files changed

+1795
-2005
lines changed

Directory.Build.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,19 @@
5757

5858
<!-- The TFMs to build and test against. -->
5959
<PropertyGroup>
60-
<NetCoreAppCurrentVersion>10.0</NetCoreAppCurrentVersion>
60+
<NetCoreAppCurrentVersion>11.0</NetCoreAppCurrentVersion>
6161
<NetCoreAppCurrentIdentifier>.NETCoreApp</NetCoreAppCurrentIdentifier>
6262
<NetCoreAppCurrentTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker>
6363
<MicrosoftNetCoreAppFrameworkName>Microsoft.NETCore.App</MicrosoftNetCoreAppFrameworkName>
6464
<NetCoreAppCurrentBrandName>.NET $(NetCoreAppCurrentVersion)</NetCoreAppCurrentBrandName>
6565
<NetCoreAppCurrent>net$(NetCoreAppCurrentVersion)</NetCoreAppCurrent>
6666

6767
<!-- The previous supported .NET version. -->
68-
<NetCoreAppPrevious>net9.0</NetCoreAppPrevious>
69-
<NetCoreAppPrevious Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(NetCoreAppCurrent)</NetCoreAppPrevious>
68+
<NetCoreAppPrevious />
69+
<!-- <NetCoreAppPrevious Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(NetCoreAppCurrent)</NetCoreAppPrevious> -->
7070

7171
<!-- The minimum supported .NET version. -->
72-
<NetCoreAppMinimum>net8.0</NetCoreAppMinimum>
72+
<NetCoreAppMinimum>net10.0</NetCoreAppMinimum>
7373
<NetCoreAppMinimum Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(NetCoreAppCurrent)</NetCoreAppMinimum>
7474

7575
<!-- when this is updated, make sure to keep $(_NetCoreAppToolCurrent)
@@ -87,8 +87,8 @@
8787
<NetFrameworkToolCurrent Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
8888
<NetFrameworkCurrent Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
8989

90-
<ApiCompatNetCoreAppBaselineVersion>9.0.0</ApiCompatNetCoreAppBaselineVersion>
91-
<ApiCompatNetCoreAppBaselineTFM>net9.0</ApiCompatNetCoreAppBaselineTFM>
90+
<ApiCompatNetCoreAppBaselineVersion>10.0.0</ApiCompatNetCoreAppBaselineVersion>
91+
<ApiCompatNetCoreAppBaselineTFM>net10.0</ApiCompatNetCoreAppBaselineTFM>
9292
</PropertyGroup>
9393

9494
<PropertyGroup Label="CalculateConfiguration">
@@ -178,7 +178,7 @@
178178

179179
<PropertyGroup>
180180
<DotNetHostBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(TargetRid).$(HostConfiguration)', 'corehost'))</DotNetHostBinDir>
181-
<DotNetCdacBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mscordaccore_universal', '$(Configuration)', '$(NetCoreAppCurrent)', '$(PortableTargetRid)', 'publish'))</DotNetCdacBinDir>
181+
<DotNetCdacBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mscordaccore_universal', '$(Configuration)', '$(PortableTargetRid)', 'publish'))</DotNetCdacBinDir>
182182
</PropertyGroup>
183183

184184
<!--Feature switches -->

Directory.Build.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,6 @@
209209
<Analyzer Remove="@(_targetingPackExcludedAnalyzerReferenceWithProjectName->Metadata('OriginalIdentity'))" />
210210
</ItemGroup>
211211
</Target>
212+
213+
<Import Project="$(RepositoryEngineeringDir)pruning.targets" />
212214
</Project>

docs/coding-guidelines/adding-api-guidelines.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ the implementation without compat concerns in future releases.
2424

2525
### Determine target framework
2626

27-
`net10.0` is the target framework version currently under development and the new apis
28-
should be added to `net10.0`. [More Information on TargetFrameworks](https://learn.microsoft.com/dotnet/standard/frameworks)
27+
`net11.0` is the target framework version currently under development and the new apis
28+
should be added to `net11.0`. [More Information on TargetFrameworks](https://learn.microsoft.com/dotnet/standard/frameworks)
2929

3030
## Making the changes in repo
3131

docs/coding-guidelines/project-guidelines.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Below is a list of all the various options we pivot the project builds on:
2525
## Individual build properties
2626
The following are the properties associated with each build pivot
2727

28-
- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. net10.0`
28+
- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. net11.0`
2929
- `$(TargetOS) -> windows | linux | osx | freebsd | ... | [defaults to running OS when empty]`
3030
- `$(Configuration) -> Debug | Release | [defaults to Debug when empty]`
3131
- `$(TargetArchitecture) - x86 | x64 | arm | arm64 | [defaults to x64 when empty]`
@@ -59,7 +59,7 @@ A cross-targeting project which targets specific platform with `$(NetCoreAppCurr
5959
A full or individual project build is centered around BuildTargetFramework, TargetOS, Configuration and TargetArchitecture.
6060

6161
1. `$(BuildTargetFramework), $(TargetOS), $(Configuration), $(TargetArchitecture)` can individually be passed in to change the default values.
62-
2. If nothing is passed to the build then we will default value of these properties from the environment. Example: `net10.0-[TargetOS Running On]-Debug-x64`.
62+
2. If nothing is passed to the build then we will default value of these properties from the environment. Example: `net11.0-[TargetOS Running On]-Debug-x64`.
6363
3. When building an individual project (either from the CLI or an IDE), all target frameworks are built.
6464

6565
Any of the mentioned properties can be set via `/p:<Property>=<Value>` at the command line. When building using any of the wrapper scripts around it (i.e. build.cmd) a number of these properties have aliases which make them easier to pass (run build.cmd/sh -? for the aliases).

docs/project/dogfooding.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ This is the default case for applications - running against an installed .NET ru
124124
```XML
125125
<PropertyGroup>
126126
<OutputType>Exe</OutputType>
127-
<!-- Ensure that the target framework is correct e.g. 'net10.0' -->
128-
<TargetFramework>net10.0</TargetFramework>
127+
<!-- Ensure that the target framework is correct e.g. 'net11.0' -->
128+
<TargetFramework>net11.0</TargetFramework>
129129
<!-- modify version in this line with one reported by `dotnet --info` under ".NET runtimes installed" -> Microsoft.NETCore.App -->
130130
<RuntimeFrameworkVersion>9.0.0-preview.5.22224.3</RuntimeFrameworkVersion>
131131
</PropertyGroup>
@@ -147,8 +147,8 @@ make it self-contained by adding a RuntimeIdentifier (RID).
147147
```XML
148148
<PropertyGroup>
149149
<OutputType>Exe</OutputType>
150-
<!-- Ensure that the target framework is correct e.g. 'net10.0' -->
151-
<TargetFramework>net10.0</TargetFramework>
150+
<!-- Ensure that the target framework is correct e.g. 'net11.0' -->
151+
<TargetFramework>net11.0</TargetFramework>
152152
<!-- modify build in this line with version reported by `dotnet --info` as above under ".NET runtimes installed" -> Microsoft.NETCore.App -->
153153
<!-- moreover, this can be any valid Microsoft.NETCore.App package version from https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json -->
154154
<RuntimeFrameworkVersion>9.0.0-preview.5.22224.3</RuntimeFrameworkVersion>
@@ -159,7 +159,7 @@ make it self-contained by adding a RuntimeIdentifier (RID).
159159
```
160160
$ dotnet restore
161161
$ dotnet publish
162-
$ bin\Debug\net10.0\win-x64\publish\App.exe
162+
$ bin\Debug\net11.0\win-x64\publish\App.exe
163163
```
164164

165165
### Daily builds table

docs/workflow/building/coreclr/nativeaot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The paths to major components can be overridden using `IlcToolsPath`, `IlcSdkPat
3333
Run `build[.cmd|.sh] -c Release` from the repo root to build the NativeAOT toolchain packages. The build will place the toolchain packages at `artifacts\packages\Release\Shipping`. To publish your project using these packages:
3434

3535
* Add the package directory to your `nuget.config` file. For example, add `<add key="local" value="C:\runtime\artifacts\packages\Release\Shipping" />`
36-
* Run `dotnet add package Microsoft.DotNet.ILCompiler -v 10.0.0-dev` to add the local package reference to your project.
36+
* Run `dotnet add package Microsoft.DotNet.ILCompiler -v 11.0.0-dev` to add the local package reference to your project.
3737
* Run `dotnet publish --packages pkg -r [win-x64|linux-x64|osx-64] -c [Debug|Release]` to publish your project. `--packages pkg` option restores the package into a local directory that is easy to cleanup once you are done. It avoids polluting the global nuget cache with your locally built dev package.
3838

3939
## High Level Overview

docs/workflow/building/coreclr/wasm.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ You can also run the runtime directly in Node.js:
6464
In script below please replace `/path/to/runtime/` by a **absolute unix path** to the actual runtime repo (even on Windows).
6565

6666
```bash
67-
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net10.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
67+
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net11.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
6868
cp helloworld.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
6969
cd ./artifacts/bin/coreclr/browser.wasm.Debug/
7070
node ./corerun.js -c /path/to/runtime/artifacts/bin/coreclr/browser.wasm.Debug/IL /path/to/runtime/artifacts/bin/coreclr/browser.wasm.Debug/IL/helloworld.dll
@@ -75,7 +75,7 @@ node ./corerun.js -c /path/to/runtime/artifacts/bin/coreclr/browser.wasm.Debug/I
7575
You can also run the corehost directly in Node.js:
7676

7777
```bash
78-
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net10.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
78+
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net11.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
7979
cp helloworld.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
8080
cd ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
8181
node ./main.mjs

docs/workflow/building/libraries/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ The libraries build has two logical components, the native build which produces
7676

7777
The build settings (BuildTargetFramework, TargetOS, Configuration, Architecture) are generally defaulted based on where you are building (i.e. which OS or which architecture) but we have a few shortcuts for the individual properties that can be passed to the build scripts:
7878

79-
- `-framework|-f` identifies the target framework for the build. Possible values include `net10.0` (currently the latest .NET version) or `net481` (the latest .NET Framework version). (msbuild property `BuildTargetFramework`)
79+
- `-framework|-f` identifies the target framework for the build. Possible values include `net11.0` (currently the latest .NET version) or `net481` (the latest .NET Framework version). (msbuild property `BuildTargetFramework`)
8080
- `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `windows`, `unix`, `linux`, or `osx`. (msbuild property `TargetOS`)
8181
- `-configuration|-c Debug|Release` controls the optimization level the compilers use for the build. It defaults to `Debug`. (msbuild property `Configuration`)
8282
- `-arch` identifies the architecture for the build. It defaults to `x64` but possible values include `x64`, `x86`, `arm`, or `arm64`. (msbuild property `TargetArchitecture`)

docs/workflow/building/libraries/cross-building.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,30 +46,30 @@ To build native runtime libraries for arm:
4646

4747
$ ROOTFS_DIR=`pwd`/.tools/rootfs/arm ./build.sh libs.native --cross --arch arm --librariesConfiguration Release
4848

49-
Build artifacts can be found in `artifacts/bin/native/net10.0-<TargetOS>-<BuildArch>-<BuildType>/`:
50-
51-
$ ls artifacts/bin/native/net10.0-Linux-Release-arm/*
52-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Globalization.Native.a
53-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Globalization.Native.so
54-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Globalization.Native.so.dbg
55-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Compression.Native.a
56-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Compression.Native.so
57-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Compression.Native.so.dbg
58-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Ports.Native.a
59-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Ports.Native.so
60-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.IO.Ports.Native.so.dbg
61-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Native.a
62-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Native.so
63-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Native.so.dbg
64-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Net.Security.Native.a
65-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Net.Security.Native.so
66-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Net.Security.Native.so.dbg
67-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.a
68-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so
69-
artifacts/bin/native/net10.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so.dbg
70-
71-
$ file artifacts/bin/native/net10.0-linux-release-arm/libSystem.Native.so
72-
artifacts/bin/native/net10.0-linux-release-arm/libSystem.Native.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5f6f6f9c4012dffed133624867adf32ac2af130d, stripped
49+
Build artifacts can be found in `artifacts/bin/native/net11.0-<TargetOS>-<BuildArch>-<BuildType>/`:
50+
51+
$ ls artifacts/bin/native/net11.0-Linux-Release-arm/*
52+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.a
53+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.so
54+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.so.dbg
55+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.a
56+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.so
57+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.so.dbg
58+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.a
59+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.so
60+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.so.dbg
61+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.a
62+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.so
63+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.so.dbg
64+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.a
65+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.so
66+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.so.dbg
67+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.a
68+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so
69+
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so.dbg
70+
71+
$ file artifacts/bin/native/net11.0-linux-release-arm/libSystem.Native.so
72+
artifacts/bin/native/net11.0-linux-release-arm/libSystem.Native.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5f6f6f9c4012dffed133624867adf32ac2af130d, stripped
7373

7474

7575
Compile managed runtime libraries on Linux
@@ -88,7 +88,7 @@ Note that by default ILLinker trimming is enabled and libraries built above for
8888

8989
$ ./build.sh libs.sfx --arch arm --librariesConfiguration Release /p:ILLinkTrimAssembly=false
9090

91-
Build artifacts can be found in `artifacts/bin/microsoft.netcore.app.runtime.<TargetOS>-<BuildArch>/<BuildType>/runtimes/<TargetOS>-<BuildArch>/lib/net10.0/`. For more details on the build configurations see [project-guidelines](/docs/coding-guidelines/project-guidelines.md).
91+
Build artifacts can be found in `artifacts/bin/microsoft.netcore.app.runtime.<TargetOS>-<BuildArch>/<BuildType>/runtimes/<TargetOS>-<BuildArch>/lib/net11.0/`. For more details on the build configurations see [project-guidelines](/docs/coding-guidelines/project-guidelines.md).
9292

9393
Both native and managed runtime libraries can be built at the same time with:
9494

docs/workflow/ci/triaging-failures.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ and for libraries runs is defined [here](../../../eng/pipelines/libraries/helix-
2323

2424
Many test runs use a non-default product configuration, to allow re-using existing test assets to stress various aspects of the system.
2525
Determine the precise test configuration under which the test has failed. This might be evident from the test job name. For example,
26-
`net10.0-windows-Release-x86-CoreCLR_checked-jitstress1-Windows.10.Amd64.Open` is a libraries test run on Windows with a Release x86 libraries
26+
`net11.0-windows-Release-x86-CoreCLR_checked-jitstress1-Windows.10.Amd64.Open` is a libraries test run on Windows with a Release x86 libraries
2727
build, Checked coreclr build, and setting the `DOTNET_JitStress=1` configuration setting, in the `Windows.10.Amd64.Open` Helix queue.
2828

2929
You need to be careful when reproducing failures to set all the correct environment variables. In the above example, if you look at the

0 commit comments

Comments
 (0)