個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Xamarin に関する事を中心に書いています。 Microsoft MVP for Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

.NET MAUI Preview 12 更新情報

.NET MAUI Preview 12 の更新情報についてご紹介します。

なお、オリジナルの記事はこちらです。
devblogs.microsoft.com
 
.NET MAUI Preview 13 の更新情報はこちらです。
hiro128.hatenablog.jp
 
.NET MAUI Preview 11 の更新情報はこちらです。
hiro128.hatenablog.jp
 
 

.NET MAUIドキュメントの更新(.NET MAUI Preview 12)

アプリアイコン、 アプリライフサイクル、ブラシ、 コントロール、シングルプロジェクトに関するドキュメントが更新されています。
 
公式情報:docs.microsoft.com
 
 

FlyoutView の handler の実装 [Android] (.NET MAUI Preview 12)

公式情報:FlyoutView Handler Android by PureWeen · Pull Request #3513 · dotnet/maui · GitHub
 
 

RelativeLayout と AbsoluteLayout の互換性ハンドラの登録(.NET MAUI Preview 12)

公式情報:Register compatibilty handlers for RelativeLayout and AbsoluteLayout by hartez · Pull Request #3723 · dotnet/maui · GitHub
 
 

Z Index プロパティの追加(.NET MAUI Preview 12)

公式情報:ZIndex proof-of-concept by hartez · Pull Request #3635 · dotnet/maui · GitHub
 
 

[破壊的変更] iOS、tvOS、macOSの型の .NET 6 での統合(.NET MAUI Preview 12)

  • .NET 6 の iOS と Mac Catalyst SDK では、System.nintとSystem.nuintではなく、C# 9.0 から採用された新しいネイティブ型(nint、nuint)が利用されます。これにより、Xamarin.iOS や Xamarin.Mac 向けにビルドした既存のコードやアセンブリとの互換性が維持されなくなります。
  • プロジェクトを .NET 6 にアップグレードする場合、すべてのコードを.NET 6 をターゲットに再コンパイルする必要があります。
  • 既存のアセンブリ(古いTargetFrameworkIdentifier である xamarinios10 用にビルドされた NuGet パッケージなど)は動作せず、サポートされません。
  • net4.x、netstandard、netcoreapp、.NET 5.0+ などの非 Xamarin をターゲットとするアセンブリは問題なく動作します。
  • .NET 6 にアップグレードし、C# ネイティブの nint、nuint 型を明示的に使用したい場合は、System.nint と System.nuint を C# の nint と nuint に書き換えるコードの修正が必要となります。

以下の GitHub の issue もご確認することをお勧めします。
github.com
 
C# ネイティブの nint、nuint 型については以下を参照ください。
docs.microsoft.com
 
 

WinUI の Windows ツールバーの拡張[non-Shell](.NET MAUI Preview 12)

公式情報:Window extend toolbar by PureWeen · Pull Request #3693 · dotnet/maui · GitHub
 
 

.NET MAUI における Shell を活用したナビゲーション(.NET MAUI Preview 12)

シェルコンテキストでのナビゲーションは、URIベースのルーティングで行われます。 
公式情報:Announcing .NET MAUI Preview 12 - .NET Blog
 
 

Shell と DI(.NET MAUI Preview 12)

  • MauiProgram.cs の DIコンテナの中で依存関係を定義します。

devblogs.microsoft.com
 

  • Shellは、多くのスタイリングとテンプレート機能を提供しているので、ほとんどのモバイル アプリケーションが必要としている基本機能を素早く実現することができます。

シェルについての詳細は以下を参照ください。
docs.microsoft.com