Skip to content

.NET 9.0.1xx RC 2 (9600)

Pre-release
Pre-release
Compare
Choose a tag to compare
@rolfbjarne rolfbjarne released this 08 Oct 16:52
· 479 commits to main since this release
a6599c7

We're excited to announce our second (and last) release candidate for .NET 9!

This release includes support for Xcode 16 and macOS 15.0 (Sequoia).

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:

🚨 This release requires Xcode 16.0

Installation

You can use workload set version 9.0.100-rc.2.24503.1 in order to install the 18.0.9600-net9-rc2 version of the iOS SDK, please make sure to be using the latest .NET SDK 9.0.100-rc.2 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 9.0.100-rc.2 before proceeding.

dotnet workload install <workload id(s)> --version 9.0.100-rc.2.24503.1

Available workload ids

Example command installing all listed workloads.

dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.100-rc.2.24503.1

You can use dotnet workload --info to validate the workload versions installed in your system.

Full release notes: .NET 9 release notes

Known issues

VSCode on macOS 15.0 (Sequoia)

VSCode currently has some incompatibilities on macOS 15.0 (Sequoia). Full details (with workarounds) can be found here: microsoft/vscode-dotnettools#1449

The native strip tool might crash (and exit with exit code 139)

This is a bug in the native strip tool (shipped by Apple with Xcode).

The simplest workaround is to disable stripping by adding the following to your csproj (the downside is that the app size will increase somewhat):

<PropertyGroup>
    <NoSymbolStrip Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">True</NoSymbolStrip>
</PropertyGroup>

For more information: #19157

App submission denied because app references the BrowserEngineKit framework

The workaround is to add the following to the project file:

<Target Name="DoNotLinkWithBrowserEngineKit" AfterTargets="_ComputeLinkNativeExecutableInputs">
	<ItemGroup>
		<_NativeExecutableFrameworks Remove="BrowserEngineKit" />
	</ItemGroup>
</Target>

For more information: #21324

Binding projects don't build

Binding projects will fail to build with an error like this:

/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net9.0_18.0/18.0.9600-net9-rc2/tools/msbuild/iOS/Xamarin.Shared.targets(1776,3): error MSB6006: "dotnet" exited with code 150.

It might be possible to work around this by installing a daily .NET 9 RTM build from here: https://github.com/dotnet/sdk/blob/main/documentation/package-table.md

For more information: #21407

Known issues in .NET 9: Known issues in .NET 9

What's Changed

New Contributors

Full Changelog: dotnet-9.0.1xx-rc1-9270...dotnet-9.0.1xx-rc2-9600