Skip to content

.NET 9 - Xcode 26.0 support (9752)

Latest

Choose a tag to compare

@rolfbjarne rolfbjarne released this 15 Oct 06:44
· 414 commits to main since this release
177f431

Note

Xcode 26.0 is required with this release. Xcode 26.0 requires macOS 15.6+.

This is a servicing release to the previous .NET 9 release, mainly adding support for Xcode 26.0.

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Installation

You can use workload set version 9.0.306 in order to install these versions of the SDKs.

Please make sure to be using the latest .NET SDK 9.0.306 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.306 or greater before proceeding.

dotnet workload install <workload id(s)> --version 9.0.306

Available workload ids

Example command installing all listed workloads.

dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.306

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

Breaking changes

Resource validation

We've added validation to detect if multiple different resources targets the same location in the app bundle, in which case we'll now:

  • Issue a build warning when this situation is detected.
  • Not copy any of the resources into the app bundle (previous behavior was undefined, any of the resources could end up winning).

One scenario where this has known to cause problems is in MAUI projects, when:

  • There are resources in the Platforms/iOS/Resources directory.
  • The project file adds any of these resources to the build, as MauiImage items for instance.

This leads to duplicates, because:

  • All resources in the Platforms/iOS/Resources directory are added to the build by default.
  • MAUI will process (resize) MauiImage items, and add those resized images to the build.

There are multiple ways to fix this, here are a few:

  1. Remove all MauiImage from the BundleResource item group (where they were added by default):

    <ItemGroup>
    	<!-- ... -->
    	<MauiImage Include="Platforms/iOS/Resources/LastMauiImage.png" />
    	<BundleResource Remove="@(MauiImage)" />
    </ItemGroup>
  2. Move the MauiImage items to a different directory (say Platforms/iOS/MauiImages, or Resources/Images).

References:

What's Changed

New Contributors

Full Changelog: dotnet-9.0.1xx-xcode16.5-9219...dotnet-9.0.1xx-xcode26.0-9752