.NET 10.0.1xx Preview 1 (10322)
Pre-releaseWe're excited to announce our first preview release for .NET 10!
Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.
This release consists of the following versions:
- iOS: 18.2.10322-net10-p1
- tvOS: 18.2.10322-net10-p1
- Mac Catalyst: 18.2.10322-net10-p1
- macOS: 15.2.10322-net10-p1
Full release notes: .NET 10 release notes
Known issues: Known issues in .NET 10
Installation
You can use workload set version 10.0.100-preview.1.25124.2
in order to install these versions of the SDKs, please make sure to be using the first preview of the .NET SDK 10.0.100 before issuing the dotnet workload install
command below. You can validate your installed dotnet version using dotnet --version
do make sure it shows 10.0.100
or greater before proceeding.
dotnet workload install <workload id(s)> --version 10.0.100-preview.1.25124.2
Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 10.0.100-preview.1.25124.2
You can use dotnet workload --info
to validate the workload versions installed in your system.
What's Changed
Trimmer warnings enabled by default
In the past we've suppressed trimmer warnings, because the base class library produced trimmer warnings, which meant that it wouldn't be possible for developers to fix all the trimmer warnings.
However, in .NET 9 we believe we fixed all the trimmer warnings from our own code, so now we're ready to for developers to do the same, and thus we're enabling trimmer warnings by default.
This can be disabled, by adding this to the project file:
<PropertyGroup>
<SuppressTrimAnalysisWarnings>true</SuppressTrimAnalysisWarnings>
</PropertyGroup>
Ref: #21293
Bundling original resources in libraries
Library projects can have various types of bundle resources (storyboards, xibs, property lists, png images, CoreML models, texture atlases, etc.), and they're bundled into the compiled library as embedded resources.
If any processing can be done (such as compiling storyboards or xibs, or optimizing property lists/png images, etc), this has historically been done before embedding, but this complicates library builds a lot, because this processing:
- Needs to run on a Mac, because compiling xibs/storyboards can only be done on a Mac.
- Needs Apple's toolchain around.
- Makes it impossible to do any decision-making based on the original resources when building the app.
So we've added opt-in support for embedding the original resource in libraries in .NET 9, and making it opt-out in .NET 10.
The default behavior can be changed in the project file like this:
<PropertyGroup>
<BundleOriginalResources>false</BundleOriginalResources>
</PropertyGroup>
Ref: #19028
API improvements / fixes / additions
- [AVFoundation] Add missing APIs up to Xcode 16.2. by @rolfbjarne in #21878
- [AVKit] Add missing APIs and fix all xtro issues. by @rolfbjarne in #21836
- [bgen] Accumulate BI1118 errors instead of bailing out on the first one. by @rolfbjarne in #21973
- [bgen] Propagate more xml docs. by @rolfbjarne in #21972
- [CoreHaptics] Add to macOS. by @rolfbjarne in #21963
- [CoreMedia] Add some of the new APIs in recent Xcode versions. by @rolfbjarne in #21830
- [CoreMedia] Make OSStatus = System.Int32 a global using directive. by @rolfbjarne in #21824
- [docs] Fix a few issues with the api docs. by @rolfbjarne in #21932
- [dotnet] Add templates for Notification Content extensions and Notification Service extensions. by @rolfbjarne in #21886
- [dotnet] Create and ship a WorkloadDependencies.json file. Fixes #21768. by @rolfbjarne in #21779
- [dotnet] Disable dedup optimization if we're interpreting every assembly. by @rolfbjarne in #21661
- [dotnet] Stop suppressing trim analysis warnings. Fixes #21293. by @rolfbjarne in #21351
- [Foundation] Document and slightly simplify the NSObject.Dangerous[Retain|Release|Autorelease] methods. by @rolfbjarne in #21844
- [Foundation] Fix/improve a few more NSAttributedString constructors. by @rolfbjarne in #21803
- [introspection] Ignore a few protocol conformances for ScreenCaptureKit types. by @rolfbjarne in #21829
- [MLCompute] Fix all xtro todo's for this framework. by @rolfbjarne in #21968
- [msbuild/dotnet/src] Misc exception marshalling improvements. by @rolfbjarne in #21892
- [msbuild] Add support for bundling original resources in libraries. Fixes #19028. by @rolfbjarne in #20822
- [msbuild] Capture any logging from Xamarin.MacDev in DetectSdkLocation. by @rolfbjarne in #21869
- [msbuild] Don't use 'TRACE' to enable verbose tracing. by @rolfbjarne in #21909
- [msbuild] Show an error if an app tries to link with a static library when building for Hot Restart. by @rolfbjarne in #21877
- [msbuild] Validate entitlements in CompileEntitlements. by @rolfbjarne in #21771
- [net10.0] [dotnet] Rework aggressive attribute trimming. Fixes #20906. by @rolfbjarne in #21314
- [net10.0] [tests] Updated list of expected native libraries for .NET 10. by @rolfbjarne in #21404
- [net10.0] [UIKit] Fix a GC race in UIBarButtonItem. by @rolfbjarne in #21572
- [net10.0] Trim by default (SdkOnly) when building for arm64. Fixes #21444. by @rolfbjarne in #21461
- [ObjCRuntime] Ensure all assemblies' module constructors have executed before failing registrar lookup. by @rolfbjarne in #21885
- [registrar] Fix registration of stub Objective-C classes. Fixes #21546. by @rolfbjarne in #21593
- [ReplayKit] Fix all xtro todo's for this framework. by @rolfbjarne in #21962
- [src] Fix duplicate availability attributes. by @rolfbjarne in #21819
- [src] Fix xml doc comments to actually be xml. by @rolfbjarne in #21930
- [src] Ignore CS1573 in certain cases. by @rolfbjarne in #21941
- [tools] Enable the register-protocols optimization when the interpreter is enabled. Fixes #21782. by @rolfbjarne in #21786
- [tools] Update the resource removal step to take into account '_monotouch_item' resources. by @rolfbjarne in #21939
- [UIKit] Fix inexact stream read in UIImage. by @rolfbjarne in #21916
- [UIKit] Fix some nullability issues. Fixes #21957. by @rolfbjarne in #21961
- [UIKit] Make UIApplication implement UIAccessibility. Fixes #21925. by @rolfbjarne in #21943
Full Changelog: dotnet-9.0.1xx-xcode16.2-9173...dotnet-10.0.1xx-preview1-10320