-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Migrating to Preview 13
Update paths in "Platform/Windows/Package.appxmanifest" to remove "Assets" from file paths.
If you have anywhere stated the location of images for Windows, you'll want to remove that. For example:
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls"
windows:Application.ImageDirectory="Assets"
x:Class="WeatherTwentyOne.App">should now be
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WeatherTwentyOne.App">-
GridLayoutname has been removed in favor of the originalGridnaming to remedy confusion
This is new addition to the templates, but you will fine a new folder under Resources named Raw, with a file named AboutAssets.txt. This file type is set to MauiAsset as the Build Action. Inside of it you will find:
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories) and given a Build Action of "MauiAsset":
<MauiAsset Include="AboutAssets.txt" />
These files will be deployed with you package and will be accessible using Essentials:
async Task LoadMauiAsset()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}
Inside of your .csproj you can include all Raw assets by adding the following property under the MauiFont configuration:
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />.NET MAUI Essentials is now automatically configured when you initiatlize .NET MAUI in your MauiProgram.cs. You can remove the following boilerplate code from the the individual platforms:
In the MainActivity.cs you can remove all code inside of the class so it looks like:
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
public class MainActivity : MauiAppCompatActivity
{
}In your App.xaml.cs inside of the Windows folder you can remove OnLaunched and it should now look like:
public partial class App : MauiWinUIApplication
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}