Skip to content

.NET 10.0.1xx Preview 1 (10322)

Pre-release
Pre-release
Compare
Choose a tag to compare
@rolfbjarne rolfbjarne released this 25 Feb 20:23
· 732 commits to main since this release
e32808d

We'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:

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

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

Full Changelog: dotnet-9.0.1xx-xcode16.2-9173...dotnet-10.0.1xx-preview1-10320