MAUIでCS8795が発生するときの解消方法
MAUIでCS8795が発生するときの解消方法
xamarinのサポートが終了を迎えるため、現在MAUIへの移行を進めているのですが、毎度毎度発生する下記のエラーについて対処をまとめたいと思います。
CS8795 部分メソッド ‘XXXXX’ にはアクセシビリティ修飾子が指定されているため、実装部分が必要です。
XamarinのDependencyServiceのように、同じメソッドでプラットフォームごとに処理を分ける方法を実装していると発生します。
Microsoftのページ通りに実装しても、なぜかエラーが発生するのです。。
ちなみにエラーが発生しますが、デバックモードであれば問題なく稼働しますが、リリースビルドをすると止まってしまいます。
これを今回は解消していきます。
ちなみにプラットフォーム別の処理を実装する方法はこちらが参考になります。
対象以外のプラットフォームを取り除く
方法としてはタイトル通りで、対象外のプラットフォームをコンパイル対象から外します。
なお、対象とするプラットフォームにはすべて実装できているものとします。
下記順番に実施していきます。(後半は念のため)
- プロジェクトのプロパティから取り除く
- .csprojからも取り除く
- Platforms配下のフォルダを削除
下記の通りプロジェクトのプロパティから、対象外のプラットフォームのチェックを外します。
.csprojからも下記のように対象外とするプロジェクトをコメントアウトします。
ここまでする必要はなさそうですが、上記までで対象外としたプラットフォームごとのフォルダを削除します。
再起動が完了したらソリューションのリビルドを実施して作業完了です。
さいごに
今回はMAUIで発生する「CS8795」の解消方法をまとめました。
Xamarinであればプラットフォームごとにビルド対象が分かれていたので、この事象はほとんど発生しなかったはずですが、MAUIからすべてのプラットフォームが1つのプロジェクトにまとまっているため対象外のプラットフォームも影響し始める事象が発生してしまいます。
正直面倒なのでどうにかしてほしいです。。
もし同じ事象で困っている方の参考になれば幸いです。
今回はこの辺で、ではまた!
コメント
コメントを投稿