Update to .NET 10 (#19869)

* Update to .NET 10 and C# 14

* Remove reflection usage in AvaloniaAccessHelper

* Fix Android nullability errors

* Fix WindowMetrics.WindowInsets removed from AndroidX

* Update pipelines

* Fix ValidateApiDiff for missing frameworks

* Fix Windows integration tests

* Update Xamarin.AndroidX.Window to 1.5.0

* Fix MacCatalyst supported version

* Remove unused Xunit.Extensions.Ordering

* Try to fix macOS integration tests

* Update pipeline runner to macOS 15

* Disable LeakTests

* Fix .NET Framework unit tests

* Fix BuildTests

* Bump minimum Android API level to 24

* Update to .NET 10 RTM

* Update XamlX

* update android insets and activity code to handle deprecated behaviors in api 36

---------

Co-authored-by: Emmanuel Hansen <emmausssss@gmail.com>
This commit is contained in:
Julien Lebosquain
2025-11-19 14:22:43 +00:00
committed by GitHub
parent 8631917d57
commit fb0f3848f9
78 changed files with 300 additions and 227 deletions
+3 -17
View File
@@ -326,25 +326,11 @@ public static class ApiDiffHelper
var frameworkDiffs = new List<FrameworkDiffInfo>();
// Handle frameworks that exist only in the current package.
foreach (var framework in currentFolderNames.Keys.Except(baselineFolderNames.Keys))
{
var folderName = currentFolderNames[framework];
Directory.CreateDirectory(baselineFolderPath / folderName);
baselineFolderNames.Add(framework, folderName);
}
// Handle frameworks that exist only for the baseline package.
foreach (var framework in baselineFolderNames.Keys.Except(currentFolderNames.Keys))
{
var folderName = baselineFolderNames[framework];
Directory.CreateDirectory(currentFolderPath / folderName);
currentFolderNames.Add(framework, folderName);
}
foreach (var (framework, currentFolderName) in currentFolderNames)
{
var baselineFolderName = baselineFolderNames[framework];
// Ignore new frameworks that didn't exist in the baseline package. Empty folders make the ApiDiff tool crash.
if (!baselineFolderNames.TryGetValue(framework, out var baselineFolderName))
continue;
frameworkDiffs.Add(new FrameworkDiffInfo(
framework,
+5 -5
View File
@@ -240,11 +240,11 @@ partial class Build : NukeBuild
var tfm = fw;
if (tfm == "$(AvsCurrentTargetFramework)")
{
tfm = "net8.0";
tfm = "net10.0";
}
if (tfm == "$(AvsLegacyTargetFrameworks)")
{
tfm = "net6.0";
tfm = "net8.0";
}
if (tfm.StartsWith("net4")
@@ -416,13 +416,13 @@ partial class Build : NukeBuild
ApiDiffHelper.MergePackageMarkdownDiffFiles(outputFolderPath, baselineDisplay, currentDisplay);
});
Target RunTests => _ => _
.DependsOn(RunCoreLibsTests)
.DependsOn(RunRenderTests)
.DependsOn(RunToolsTests)
.DependsOn(RunHtmlPreviewerTests)
.DependsOn(RunLeakTests);
.DependsOn(RunHtmlPreviewerTests);
//.DependsOn(RunLeakTests); // dotMemory Unit doesn't support modern .NET versions, see https://youtrack.jetbrains.com/issue/DMU-300/
Target Package => _ => _
.DependsOn(RunTests)
+2 -2
View File
@@ -21,8 +21,8 @@
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
<PackageReference Include="Microsoft.Build.Framework" Version="17.14.8" PrivateAssets="All" />
<PackageReference Include="NuGet.Protocol" Version="6.14.0" />
<PackageDownload Include="Microsoft.DotNet.ApiCompat.Tool" Version="[10.0.100-preview.7.25380.108]" />
<PackageDownload Include="Microsoft.DotNet.ApiDiff.Tool" Version="[10.0.100-rc.1.25414.111]" />
<PackageDownload Include="Microsoft.DotNet.ApiCompat.Tool" Version="[10.0.100]" />
<PackageDownload Include="Microsoft.DotNet.ApiDiff.Tool" Version="[10.0.100-rtm.25531.102]" />
<PackageDownload Include="dotnet-ilrepack" Version="[1.0.0]" />
</ItemGroup>