Announcing .NET MAUI for .NET 7 General Availability

David Ortinau

Six short months ago we introduced you to .NET Multi-platform App UI (MAUI) and today we are excited to announce the general availability of .NET MAUI in our next major release, .NET 7. Our primary work in .NET MAUI during this shortened timeframe has been on addressing your top feedback reports, improving the performance of CollectionView, and introducing desktop features as we have expanded your reach beyond mobile to desktop. This release accompanies the release of Visual Studio 17.4, and the first .NET MAUI features have graduated from preview to stable release on Mac.

.NET MAUI for .NET 7 is supported through May of 2024. This includes a 6-month overlap with support for .NET MAUI for .NET 6 through May of 2023. .NET MAUI support includes the .NET MAUI framework as well as the .NET SDKs for Android, CarPlay, iOS, macOS, Mac Catalyst, and tvOS.

You, the .NET customers and ecosystem contributors have also been hard at work building new applications with .NET MAUI, and modernizing old SDKs and libraries to be .NET compatible. Join us for the State of .NET MAUI presentation today on the .NET Conf 2022 livestream where we will highlight and celebrate all this progress.

screenshots of maui features

.NET MAUI 7 Themes

This release addresses top feedback issues and introduces new features for desktop developers. The top feedback theme from you has been a strong desire to see the quality of the toolkit itself improved. To that end, this release includes many fixes to the fundamentals of UI controls and layouts.

Here are some other highlights:

Map Control

In this release we are shipping the .NET MAUI Map control, updated from Xamarin.Forms. Like our other UI controls, this is a cross-platform abstraction of the native map control provided by each platform. Map supports pins, custom pins, drawing polygons, polylines, and circles, geocoding and geolocation, and also launching the native map application on the device you’re running.

Mobile Rendering Performance

.NET MAUI for .NET 7 is even faster than .NET 6 after 6 short months. We have optimized the rendering path for basic views, and addressed several issues that were impacting the smoothness of scrolling in the CollectionView list control. Jonathan Peppers will share an in-depth review of these improvements in an upcoming blog post.

Desktop Enhancements

We have been working closely with companies building desktop applications using .NET MAUI, and were able to include some enhancements based on their use cases including:

  • Window size and position
  • Context Menus
  • Tooltips
  • Pointer hover gesture
  • Right-click

And more

These are only the highlights.

We’d like to thank all of you who contributed to this release with your issue reports, pull requests, and thoughtful feedback. Thank you!

You’ll discover more in our release notes, documentation, and samples.

Compatibility Notes

.NET MAUI 7 is compatible with:

  • Android API 33
  • Tizen 7.0
  • Xcode 14.0.1 (iOS 16)
  • WinUI 1.1.5

Xcode 14.1 was released during our final QA cycle, so we will be adding .NET support in an upcoming service release. For immediate usage of Xcode 14.1 you may access builds from our public build pipeline.

Get Started

Aquire .NET MAUI and .NET 7 by installing Visual Studio 17.4. When creating a new .NET MAUI or .NET client application (Android, iOS, macOS, tvOS), select .NET 7 from the framework selector.

Upgrading from .NET 6

To upgrade your projects from .NET 6 to .NET 7, open your csproj file and change the target framework monikers (TFM) from 6 to 7.

Before:

<TargetFrameworks>net6.0-ios;net6.0-android;net6.0-maccatalyst;net6.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks>

After:

<TargetFrameworks>net7.0-ios;net7.0-android;net7.0-maccatalyst;net7.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net7.0-windows10.0.19041</TargetFrameworks>

Feedback

We guide our investments in .NET MAUI based on your input. Here’s how you can make an impact.

  1. File new SDK issues on GitHub in the dotnet/maui repo
  2. Add a reaction to existing issues that you’re also impacted by
  3. Use the Visual Studio Feedback option to submit issues related to editing, intellisense, debugging, hot reload, hot restart, remote mac, etc.

28 comments

Discussion is closed. Login to edit/delete existing comments.

  • Qui Bono 0

    STILL no BundledResource option for iOS. My GoogleServices-Info.plist is not being found.
    Come on guys, are you serious about making MAUI production-ready?

  • Hossein Jabbarzadeh 0

    Trying to use iOS CallKit Extention for Call Identification/Blocking with the Maui Project we have (for an iOS app) and there is no project template to add CallKit Extention!!!!! Am I missing something? How come Maui doesn’t support iOS extension?

  • kenna zeng 0

    I don’t know why MAUI doesn’t support windows 7. you know, in China 28% use still using Windows 7.
    Is there any way to make MAUI work properly under Windows 7?

  • Stephen Winstanley 2

    I so agree with Jens. After making several projects with the Xamarin over the years I had such high hopes for Maui, but it is a total mess. I spend half my time working around bugs that have been closed or have bodge workarounds when I check if they have been reported.

    I have found the debug builds run so much slower on an Android on USB that it makes development very slow. Half the time when you have a nice interface and then try on another platform it wont work the same way or be buggy forcing you to re-engineer it all. Visual Studio hates Maui and runs slowly with it mis-showing bugs and really should be a whole lot better by now.

    And now onto this .net7 update. I have tried twice to get it to work from .net6 and both times it just wont run any more on Windows. I got it to work on Android and it of course broke some of the interface I had made. Should I have :

    and ‘$(MSBuildRuntimeType)’ == ‘Full’

    This was not in my line before and wont work with or without it. But checking on some articles suggest this is out of date now ?

    I really wish Microsoft would just stop and review all the bugs in Maui (yes the closed ones too) and make it the product it could be, rather than keep steamrollering ahead ignoring all the problems like they dont exist. A truly horrid technology in its current state where the rug is pulled out from under your feet constantly by the updates and dont care attitude of Microsoft.

    Edit :

    Well to get it to work on UWP you need to follow this and run once as admin :

    https://github.com/dotnet/maui/issues/12080

    Then you will find all your screens are messed up by new bugs both in UWP and Android. While trying to make the common XAML actual be common across platforms at some random point it will then refuse to install back on Android with this :

    system.missingfieldexception: ‘field not found: int .attribute.centerifnotextenabled

    As no one seems to know what or why this happens in Maui .net7 i am back to .net 6.

    Does any single person on the Maui team ever try to make a useable app in this technology ?

Feedback usabilla icon