diff --git a/eng/performance/sdk_scenarios.proj b/eng/performance/sdk_scenarios.proj
index de335da3aab..c5ccce55bd7 100644
--- a/eng/performance/sdk_scenarios.proj
+++ b/eng/performance/sdk_scenarios.proj
@@ -12,7 +12,8 @@
-
+
+
diff --git a/eng/pipelines/templates/runtime-perf-job.yml b/eng/pipelines/templates/runtime-perf-job.yml
index 090703acb68..99c63d8e159 100644
--- a/eng/pipelines/templates/runtime-perf-job.yml
+++ b/eng/pipelines/templates/runtime-perf-job.yml
@@ -1,7 +1,7 @@
parameters:
steps: []
variables: []
- framework: net10.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0)
+ framework: net11.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0)
buildConfig: ''
archType: ''
osGroup: ''
diff --git a/global.net10.json b/global.net10.json
new file mode 100644
index 00000000000..1d7aa9f4829
--- /dev/null
+++ b/global.net10.json
@@ -0,0 +1,17 @@
+{
+ "sdk": {
+ "version": "10.0.100",
+ "allowPrerelease": true,
+ "rollForward": "latestMinor"
+ },
+ "tools": {
+ "dotnet": "10.0.100"
+ },
+ "msbuild-sdks": {
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25604.105",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25604.105"
+ },
+ "native-tools": {
+ "python3": "3.7.1"
+ }
+}
diff --git a/scripts/ci_setup.py b/scripts/ci_setup.py
index 18952438226..db3996b6fcd 100644
--- a/scripts/ci_setup.py
+++ b/scripts/ci_setup.py
@@ -377,6 +377,10 @@ def main(args: CiSetupArgs):
dotnet.setup_dotnet(args.dotnet_path)
framework = ChannelMap.get_target_framework_moniker(args.channel)
+ if framework in ('net10.0', 'nativeaot10.0'):
+ global_json_path = os.path.join(get_repo_root_path(), 'global.json')
+ shutil.copy(os.path.join(get_repo_root_path(), 'global.net10.json'), global_json_path)
+ getLogger().info('Overwrote global.json with global.net10.json')
if framework in ('net9.0', 'nativeaot9.0'):
global_json_path = os.path.join(get_repo_root_path(), 'global.json')
shutil.copy(os.path.join(get_repo_root_path(), 'global.net9.json'), global_json_path)
diff --git a/scripts/dotnet.py b/scripts/dotnet.py
index e12e1163fd6..5e4874fe886 100755
--- a/scripts/dotnet.py
+++ b/scripts/dotnet.py
@@ -83,6 +83,8 @@ def get_target_framework_moniker(framework: str) -> str:
return 'net9.0'
if framework == 'nativeaot10.0':
return 'net10.0'
+ if framework == 'nativeaot11.0':
+ return 'net11.0'
else:
return framework
diff --git a/scripts/micro_benchmarks.py b/scripts/micro_benchmarks.py
index 40a4b821e55..a92fde9261e 100755
--- a/scripts/micro_benchmarks.py
+++ b/scripts/micro_benchmarks.py
@@ -269,6 +269,8 @@ def __get_benchmarkdotnet_arguments(framework: str, args: Any) -> list[str]:
run_args += ['--runtimes', 'wasmnet90']
elif framework == "net10.0":
run_args += ['--runtimes', 'wasmnet10_0']
+ elif framework == "net11.0":
+ run_args += ['--runtimes', 'wasmnet11_0']
else:
raise ArgumentTypeError('Framework {} is not supported for wasm'.format(framework))
diff --git a/src/benchmarks/micro/MicroBenchmarks.csproj b/src/benchmarks/micro/MicroBenchmarks.csproj
index 1126ea9ca05..4bf23cd37f2 100644
--- a/src/benchmarks/micro/MicroBenchmarks.csproj
+++ b/src/benchmarks/micro/MicroBenchmarks.csproj
@@ -2,7 +2,7 @@
- net6.0;net7.0;net8.0;net9.0;net10.0
+ net6.0;net7.0;net8.0;net9.0;net10.0;net11.0
$(SupportedTargetFrameworks);net472
$(PERFLAB_TARGET_FRAMEWORKS)
diff --git a/src/benchmarks/micro/README.md b/src/benchmarks/micro/README.md
index e9ac9733d60..26b2a7f98f2 100644
--- a/src/benchmarks/micro/README.md
+++ b/src/benchmarks/micro/README.md
@@ -12,38 +12,38 @@ To learn more about designing benchmarks, please read [Microbenchmark Design Gui
## Quick Start
-The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net10.0` as the target framework.
+The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net11.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net11.0` as the target framework.
The following commands are run from the `src/benchmarks/micro` directory.
To run the benchmarks in Interactive Mode, where you will be asked which benchmark(s) to run:
```cmd
-dotnet run -c Release -f net10.0
+dotnet run -c Release -f net11.0
```
To list all available benchmarks ([read more](../../../docs/benchmarkdotnet.md#Listing-the-Benchmarks)):
```cmd
-dotnet run -c Release -f net10.0 --list flat|tree
+dotnet run -c Release -f net11.0 --list flat|tree
```
To filter the benchmarks using a glob pattern applied to namespace.typeName.methodName ([read more](../../../docs/benchmarkdotnet.md#Filtering-the-Benchmarks)):
```cmd
-dotnet run -c Release -f net10.0 --filter *Span*
+dotnet run -c Release -f net11.0 --filter *Span*
```
To profile the benchmarked code and produce an ETW Trace file ([read more](../../../docs/benchmarkdotnet.md#Profiling)):
```cmd
-dotnet run -c Release -f net10.0 --filter $YourFilter --profiler ETW
+dotnet run -c Release -f net11.0 --filter $YourFilter --profiler ETW
```
To run the benchmarks for multiple runtimes ([read more](../../../docs/benchmarkdotnet.md#Multiple-Runtimes)):
```cmd
-dotnet run -c Release -f net8.0 --filter * --runtimes net8.0 net10.0
+dotnet run -c Release -f net10.0 --filter * --runtimes net10.0 net11.0
```
## Private Runtime Builds
@@ -51,14 +51,14 @@ dotnet run -c Release -f net8.0 --filter * --runtimes net8.0 net10.0
If you contribute to [dotnet/runtime](https://github.com/dotnet/runtime) and want to benchmark **local builds of .NET Core** you need to build [dotnet/runtime](https://github.com/dotnet/runtime) in Release (including tests - so a command similar to `build clr+libs+libs.tests -rc release -lc release`) and then provide the path(s) to CoreRun(s). Provided CoreRun(s) will be used to execute every benchmark in a dedicated process:
```cmd
-dotnet run -c Release -f net10.0 --filter $YourFilter \
+dotnet run -c Release -f net11.0 --filter $YourFilter \
--corerun C:\git\runtime\artifacts\bin\testhost\net10.0-windows-Release-x64\shared\Microsoft.NETCore.App\9.0.0\CoreRun.exe
```
To make sure that your changes don't introduce any regressions, you can provide paths to CoreRuns with and without your changes and use the Statistical Test feature to detect regressions/improvements ([read more](../../../docs/benchmarkdotnet.md#Regressions)):
```cmd
-dotnet run -c Release -f net10.0 \
+dotnet run -c Release -f net11.0 \
--filter BenchmarksGame* \
--statisticalTest 3ms \
--coreRun \
diff --git a/src/scenarios/build-common/Blazor.PackageVersions.props b/src/scenarios/build-common/Blazor.PackageVersions.props
index 91ea97d759c..9c44246c6d0 100644
--- a/src/scenarios/build-common/Blazor.PackageVersions.props
+++ b/src/scenarios/build-common/Blazor.PackageVersions.props
@@ -1,4 +1,9 @@
+
+ 11.0.0-*
+ 11.0.0-*
+ 11.0.0-*
+
10.0.0-*
10.0.0-*
@@ -26,26 +31,4 @@
6.0.0-preview*
6.0.0-preview*
-
-
-
- 10.0.0-*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/scenarios/shared/mauisharedpython.py b/src/scenarios/shared/mauisharedpython.py
index 0affb1899eb..05ad5c9980d 100644
--- a/src/scenarios/shared/mauisharedpython.py
+++ b/src/scenarios/shared/mauisharedpython.py
@@ -21,7 +21,7 @@ def generate_maui_rollback_dict(target_framework: str):
This eliminates the need to maintain MAUI dependencies in the performance repo's Version.Details.xml.
Args:
- target_framework: Target framework to determine which MAUI branch to use (e.g., "net10.0")
+ target_framework: Target framework to determine which MAUI branch to use (e.g., "net11.0")
Returns:
Dictionary mapping rollback package names to version/band strings
@@ -159,13 +159,13 @@ def extract_latest_dotnet_feed_from_nuget_config(path: str, offset: int = 0) ->
return target_feed
-def download_maui_nuget_config(target_framework: str = "net10.0", output_filename: str = "MauiNuGet.config") -> str:
+def download_maui_nuget_config(target_framework: str = "net11.0", output_filename: str = "MauiNuGet.config") -> str:
'''
Download MAUI's NuGet.config from the appropriate branch.
Returns the path to the downloaded config file.
Args:
- target_framework: Target framework to determine which branch to use (e.g., "net10.0")
+ target_framework: Target framework to determine which branch to use (e.g., "net11.0")
output_filename: Name of the file to save the downloaded config
'''
# Extract base framework version (e.g., "net10.0" from "net10.0-android")
diff --git a/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj b/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj
index 8cd149e121e..796d014d367 100644
--- a/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj
+++ b/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj
@@ -1,7 +1,7 @@
- net10.0
+ net11.0
false
enable
diff --git a/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj b/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj
index e29084f4e00..28e90cbca3e 100644
--- a/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj
+++ b/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj
@@ -1,11 +1,11 @@
- net10.0
+ net11.0
false
-
+
diff --git a/src/tools/ResultsComparer/Data.cs b/src/tools/ResultsComparer/Data.cs
index b1934d856db..3a61ad01a03 100644
--- a/src/tools/ResultsComparer/Data.cs
+++ b/src/tools/ResultsComparer/Data.cs
@@ -162,6 +162,10 @@ private static string GetMoniker(string key)
return "net10.0";
if (key.StartsWith("nativeaot10.0"))
return key;
+ if (key.StartsWith("net11.0"))
+ return "net11.0";
+ if (key.StartsWith("nativeaot11.0"))
+ return key;
return null;
}