.NET MAUIで動的リンクを試したい

スポンサーリンク

はじめに

前回の投稿(ライセンスがLGPLのライブラリについて)の続きです。
.NET MAUIはRelease Candidate1(RC1)を使用しています。

(続)iOSアプリやAndroidアプリで動的リンクできるのか?

.NET MAUIで動的リンクができるかどうかについて調べましたが、まだ正式版も出ていないということもあり、日本語の情報は見つかりませんでした。
ただし.NET MAUI クラスライブラリ(プレビュー)のプロジェクトを作成できるようなので、これで試してみることにしました。

Windows上での動的リンクのテスト:OK

まずは動的リンクできると予想されるWindows上で試しました。
下記サイトを参考にさせていただき、クラスライブラリプロジェクトを.NET MAUIクラスライブラリ(プレビュー)プロジェクトに置き換え、またWinFormプロジェクトを.NET MAUIアプリ(プレビュー)プロジェクトに置き換えて同様の実装を行ったところ、問題なく動的リンクで動作させることができました。
参考1:動的にDLLファイルのクラスメソッドを呼び出す (Reflectionを用いたアセンブリの動的呼び出し) (C#プログラミング)

Android上での動的リンクのテスト:?

次にAndroid上で試しました。
.NET MAUIクラスライブラリプロジェクトの出力で、net6.0-androidフォルダにもDLLが作成されているので、これを読み込むことができればWindows上と同様に動的リンクができると考えられます。
ただしAndriodでは、ストレージ上のファイルを読み込むためには権限(パーミッション)が必要です。
参考2:Xamarin.Essentials:アクセス許可
参考3:Announcing .NET MAUI Preview 14

.NET MAUIではMicrosoft.Maui.EssentialsにPermissionsクラスがありそうなのですが、using Microsoft.Maui.Essentials;としてもEssentialsが見つからず、ここで行き詰ってしまいました。
まだ正式版でないこともあり、(特に日本語の)情報が少なく、対処方法が分かりません…
参考3に.NET 6 PreviewとVisual Studio 2022 Previewは再インストールした方が良いみたいなことが書いてあるので、VS2022 Previewの再インストールを行ってみましたが、変化はありませんでした。

権限を取得する方法について、もう少し試してみるつもりですが、もしかしたらしばらく解決しないかもしれません…

コメント

タイトルとURLをコピーしました