Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 4.15 KB

dotnetmaui.md

File metadata and controls

77 lines (50 loc) · 4.15 KB

.NET MAUI in .NET 9 Preview 3 - Release Notes

The team is continuing work on core fundamentals of the .NET MAUI SDK to improve overall product quality. This includes expanding test coverage, end to end scenario testing, and bug fixing.

Here's a summary of what's new in .NET MAUI in this preview release:

  • Multi-target versions of .NET for iOS bindings
  • Android Asset Packs

.NET MAUI updates in .NET 9 Preview 3:

.NET 9 Preview 3:

.NET for Android

Asset packs

.NET Android 9 Preview 3 introduces the ability to place assets into a separate package, known as an asset pack. This enables you to upload games and apps that would normally be larger than the basic package size allowed by Google Play. By putting these assets into a separate package you gain the ability to upload a package which is up to 2Gb in size, rather than the basic package size of 200Mb.

Important

Asset packs can only contain assets. In the case of .NET Android this means items that have the AndroidAsset build action.

.NET MAUI apps define assets via the MauiAsset build action. An asset pack can be specified via the AssetPack attribute:

<MauiAsset
    Include="Resources\Raw\**"
    LogicalName="%(RecursiveDir)%(Filename)%(Extension)"
    AssetPack="myassetpack" />

Note

The additional metadata will be ignored by other platforms.

If you have specific items you want to place in an asset pack you can use the Update attribute to define the AssetPack metadata:

<MauiAsset Update="Resources\Raw\MyLargeAsset.txt" AssetPack="myassetpack" />

Asset packs can have different delivery options, which control when your assets will install on the device:

  • Install time packs are installed at the same time as the app. This pack type can be up to 1Gb in size, but you can only have one of them. This delivery type is specified with InstallTime metadata.
  • Fast follow packs will install at some point shortly after the app has finished installing. The app will be able to start while this type of pack is being installed so you should check it has finished installing before trying to use the assets. This kind of asset pack can be up to 512Mb in size. This delivery type is specified with FastFollow metadata.
  • On demand packs will never be downloaded to the device unless the app specifically requests it. The total size of all your asset packs can't exceed 2Gb, and you can have up to 50 separate asset packs. This delivery type is specified with OnDemand metadata.

In .NET MAUI apps, the delivery type can be specified with the DeliveryType attribute on a MauiAsset:

<MauiAsset Update="Resources\Raw\myvideo.mp4" AssetPack="myassetpack" DeliveryType="FastFollow" />

.NET for iOS

Projects can now multi-target versions of .NET for iOS bindings. For example, a library project may need to build for 2 distinct versions.

<TargetFrameworks>net9.0-ios17.0;net9.0-ios17.2</TargetFrameworks>

This will produce 2 libraries, one using iOS 17.0 bindings, and one using iOS 17.2 bindings. An app project should always target the latest iOS SDK.

Community Contributions

Thanks to contributors @wcoder, @rpendleton, @filipnavara, @snechaev, @symbiogenesis, @bradencohen, @licon4812, @kubaflo.