Xamarinと.NET MAUIのスレッドです。
C#でクロスプラットフォームのアプリを開発できるフレームワーク
無料、クロスプラットフォーム、オープンソース。
対応プラットフォームは、Windows, Android, iOS, macOS, Linuxなど
前スレ
Microsoft .NET MAUI part9 [Xamarin]
https://mevius.5ch.net/test/read.cgi/tech/1663067298/
探検
Microsoft .NET MAUI part10 [Xamarin]
2022/12/19(月) 19:29:36.93ID:b7LRFmhz
564デフォルトの名無しさん
2025/05/19(月) 16:24:23.14ID:8rQCWgIs 感じるんだ
565デフォルトの名無しさん
2025/05/25(日) 02:50:53.12ID:ciKb89UP なんか最近のアップデートを適用したら
実機のAndroid8/10でアプリをデバッガから起動しようとしたら、起動するなり停まってしまう
実機のAndroid13の機種やエミュレーターだと8-15まで全部問題なし
実機でタップして起動するのは問題ないけど、おま環なの?
実機のAndroid8/10でアプリをデバッガから起動しようとしたら、起動するなり停まってしまう
実機のAndroid13の機種やエミュレーターだと8-15まで全部問題なし
実機でタップして起動するのは問題ないけど、おま環なの?
566デフォルトの名無しさん
2025/05/31(土) 23:10:02.85ID:C/Qi+mMK567デフォルトの名無しさん
2025/08/10(日) 22:56:12.80ID:epktwExL みんなおらんの?
.net8のプロジェクトを.net9にしたらリリースモードでアプリが起動しなくなったんだけど
どうやってデバッグしたら良いの?
デバッグモードだとしれっと動くのよ・・・
.net8のプロジェクトを.net9にしたらリリースモードでアプリが起動しなくなったんだけど
どうやってデバッグしたら良いの?
デバッグモードだとしれっと動くのよ・・・
568デフォルトの名無しさん
2025/08/11(月) 00:17:16.94ID:aP3ZTG94 ライブラリが足りないか、リリース用のDLLをネットから持ってきたため実行権限がないとか。
DLLのプロパティ開いてブロックかかってないか見てみたら?
DLLのプロパティ開いてブロックかかってないか見てみたら?
569デフォルトの名無しさん
2025/08/11(月) 09:49:08.83ID:wszRpGrc ほんとに起動しないの?起動したけどエラーで落ちてるとかでは?
570デフォルトの名無しさん
2025/08/11(月) 11:39:50.13ID:m0YU2zbS コマンドプロンプトの画面から呼び出したらエラー内容みえたりしないのかな。
571567
2025/08/11(月) 13:13:38.32ID:MNMrhvpr copilotさんにログ貼り付けたりして頑張ったら
trim外せって言われて外したら動いた
トリム外すだけだとなんかリンカーが通らないから変なオプションも手動で書くように言われて書いたら解決した
Trimで何が消えたんだよ・・・・
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net9.0-android35.0|AnyCPU'">
<PublishTrimmed>false</PublishTrimmed> <=ここがリリースだとデフォルトtrue
<RunAOTCompilation>false</RunAOTCompilation> <=copilotさんにかけと言われて書いた
</PropertyGroup>
trim外せって言われて外したら動いた
トリム外すだけだとなんかリンカーが通らないから変なオプションも手動で書くように言われて書いたら解決した
Trimで何が消えたんだよ・・・・
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net9.0-android35.0|AnyCPU'">
<PublishTrimmed>false</PublishTrimmed> <=ここがリリースだとデフォルトtrue
<RunAOTCompilation>false</RunAOTCompilation> <=copilotさんにかけと言われて書いた
</PropertyGroup>
572デフォルトの名無しさん
2025/08/11(月) 13:26:25.73ID:p1wBekRk 今回の2つの設定変更は、.NET 9 で Release ビルドのデフォルト動作が変わったことによる起動不能問題を回避しています。
---
① <PublishTrimmed>false</PublishTrimmed>
意味
IL trimming(未使用コード削除) を無効化します。
背景
.NET 9 では Release ビルド時のデフォルトで PublishTrimmed が true になり、リンク時に「使っていない」と判断されたコードを削除します。
問題点
リフレクション(Activator.CreateInstance や JsonSerializer)や動的ロードは、静的解析では使用箇所が見えません。
その結果、必要な型やメソッドが「不要」と誤判断されて削除され、実行時に
MissingMethodException
TypeLoadException
などが発生して、アプリが起動しなくなります。
対応
PublishTrimmed=false により trimming を完全に無効化 → 必要なコードが削除されず起動できるようになります。
② <RunAOTCompilation>false</RunAOTCompilation>
意味
AOT(Ahead-of-Time コンパイル) を無効化します。
背景
Android の Release ビルドでは、通常 IL を事前にネイティブコードに変換して配布(AOT)が行われます。
.NET 9 では AOT の挙動や組み合わせが変わり、Trim や Linker とセットでより aggressive(厳格)になりました。
問題点
AOT は起動時間短縮やパフォーマンス改善に有効ですが、以下の場合にクラッシュしやすくなります:
動的コード生成(Expression Trees, Reflection.Emit)
ジェネリック型のランタイム生成
Trim 済みコードとの依存関係不整合
.NET 9 での変更により、以前は動いていたコードが AOT 後に動かなくなるケースが増えました。
対応
RunAOTCompilation=false で JIT 実行に戻し、AOT に起因するクラッシュを回避します。
---
① <PublishTrimmed>false</PublishTrimmed>
意味
IL trimming(未使用コード削除) を無効化します。
背景
.NET 9 では Release ビルド時のデフォルトで PublishTrimmed が true になり、リンク時に「使っていない」と判断されたコードを削除します。
問題点
リフレクション(Activator.CreateInstance や JsonSerializer)や動的ロードは、静的解析では使用箇所が見えません。
その結果、必要な型やメソッドが「不要」と誤判断されて削除され、実行時に
MissingMethodException
TypeLoadException
などが発生して、アプリが起動しなくなります。
対応
PublishTrimmed=false により trimming を完全に無効化 → 必要なコードが削除されず起動できるようになります。
② <RunAOTCompilation>false</RunAOTCompilation>
意味
AOT(Ahead-of-Time コンパイル) を無効化します。
背景
Android の Release ビルドでは、通常 IL を事前にネイティブコードに変換して配布(AOT)が行われます。
.NET 9 では AOT の挙動や組み合わせが変わり、Trim や Linker とセットでより aggressive(厳格)になりました。
問題点
AOT は起動時間短縮やパフォーマンス改善に有効ですが、以下の場合にクラッシュしやすくなります:
動的コード生成(Expression Trees, Reflection.Emit)
ジェネリック型のランタイム生成
Trim 済みコードとの依存関係不整合
.NET 9 での変更により、以前は動いていたコードが AOT 後に動かなくなるケースが増えました。
対応
RunAOTCompilation=false で JIT 実行に戻し、AOT に起因するクラッシュを回避します。
573デフォルトの名無しさん
2025/08/11(月) 13:28:02.37ID:QPpYRl4f まとめ
.NET 9 で Release ビルドの最適化が強化
Trim(未使用コード削除)→ 必要なコードが消える
AOT(事前ネイティブ化)→ 動的生成や特殊ケースが壊れる
今回の設定はそれらを無効化して「安全寄りのビルド」に戻した
メリット: 確実に動く
デメリット: APKサイズ増加・起動時間やパフォーマンス低下
本番運用に向けた改善案
Trim 無効化の代わりに
DynamicDependency や Preserve 属性で必要な型を明示
TrimmerRootAssembly 設定を活用
AOT 無効化の代わりに
動的コード依存を減らす
AOT 対応コードへの置き換え
要するに、この変更は「.NET 9 から Release ビルドの安全マージンが減ったので、自分で安全側に戻した」という状態です。
もしサイズや速度も重視するなら、無効化ではなく「安全に最適化を活かす設定」にしていく必要があります。
.NET 9 で Release ビルドの最適化が強化
Trim(未使用コード削除)→ 必要なコードが消える
AOT(事前ネイティブ化)→ 動的生成や特殊ケースが壊れる
今回の設定はそれらを無効化して「安全寄りのビルド」に戻した
メリット: 確実に動く
デメリット: APKサイズ増加・起動時間やパフォーマンス低下
本番運用に向けた改善案
Trim 無効化の代わりに
DynamicDependency や Preserve 属性で必要な型を明示
TrimmerRootAssembly 設定を活用
AOT 無効化の代わりに
動的コード依存を減らす
AOT 対応コードへの置き換え
要するに、この変更は「.NET 9 から Release ビルドの安全マージンが減ったので、自分で安全側に戻した」という状態です。
もしサイズや速度も重視するなら、無効化ではなく「安全に最適化を活かす設定」にしていく必要があります。
574デフォルトの名無しさん
2025/08/12(火) 03:31:50.78ID:6s6e/dJu 互換性ぶっ壊しといて安全です言われてもなあ
575デフォルトの名無しさん
2025/08/12(火) 06:00:21.60ID:/Wr+0zZA 余計なことしかしない
576デフォルトの名無しさん
2025/08/12(火) 11:02:38.38ID:Hn1Qu25p Trimで何を削ったのかさくっとリスト出してくれればいいがそうはならないのよな
577デフォルトの名無しさん
2025/08/12(火) 14:25:07.03ID:VCS3T4pM AOTは実行時例外出しまくったから即オフったわ
あんなもんデフォルトとか正気の沙汰じゃない
あんなもんデフォルトとか正気の沙汰じゃない
578567
2025/08/12(火) 18:38:28.46ID:PHJLTY/j iOSでも試したけど
MtouchNoSymbolStripをfalseにしないと俺のアプリ起動に失敗しちゃう
gccのtrimでこんなダメダメなの聞いたこと無いんだが・・・
MtouchNoSymbolStripをfalseにしないと俺のアプリ起動に失敗しちゃう
gccのtrimでこんなダメダメなの聞いたこと無いんだが・・・
579567
2025/08/12(火) 20:34:12.00ID:PHJLTY/j ダメだった
動いたの古いビルドだった
.NET9にすると、iOSなんか、テンプレートのカウントプログラムすら動かなくなるな・・・
なんだこりゃ
動いたの古いビルドだった
.NET9にすると、iOSなんか、テンプレートのカウントプログラムすら動かなくなるな・・・
なんだこりゃ
580デフォルトの名無しさん
2025/10/20(月) 05:16:43.70ID:1t0gyqW2 こりゃ、.net10が楽しみだな
581デフォルトの名無しさん
2025/10/22(水) 12:09:17.18ID:nOawdUDg 結局は誰も触ってないから問題も上がらないってことか
582567
2025/10/27(月) 23:46:36.71ID:R4VDCOEB .NET10 になったら
.NET9ではAOTをチェックすると起動しなくなる問題が解決するのかな
.NET9ではAOTをチェックすると起動しなくなる問題が解決するのかな
583デフォルトの名無しさん
2025/11/12(水) 11:15:11.88ID:s+qzWvl/ AvaloniaバックエンドでLinux対応…
ネイティブ描画にこだわってた意味は…?
ネイティブ描画にこだわってた意味は…?
584デフォルトの名無しさん
2025/11/12(水) 14:01:41.32ID:C17pCTTx あいつ前からlinuxで動いてなかったか?
ブラウザコントロールみたいなのはだめだけど
ブラウザコントロールみたいなのはだめだけど
585デフォルトの名無しさん
2025/11/12(水) 17:51:46.56ID:/tio0wUe Avaloniaがflutterのimpellerバックエンドをどうこうとかもみたな
586デフォルトの名無しさん
2025/11/13(木) 03:17:15.00ID:cz+Tncz0 うーんMacもAvaloniaベースの方が高速なのか…
もうLinuxだけでなく全プラットフォームAvaloniaに寄生でよくないか?
ネイティブにこだわっても低性能バグだらけの実装しかできないんだから
もうLinuxだけでなく全プラットフォームAvaloniaに寄生でよくないか?
ネイティブにこだわっても低性能バグだらけの実装しかできないんだから
587デフォルトの名無しさん
2025/11/13(木) 08:11:34.27ID:OXoSwSNf バックエンドAvaloniaかよ
588567
2025/11/13(木) 23:56:44.54ID:cnLW99Qv .NET10はAoTをもっと進めたってドヤ顔で書いてるけど
どうせ迂闊に指定すると起動すらしなくて、自分でどのモジュールをAoTの対象外にするかちまちま調べなきゃいけないんだろ?
どうせ迂闊に指定すると起動すらしなくて、自分でどのモジュールをAoTの対象外にするかちまちま調べなきゃいけないんだろ?
589567
2025/11/15(土) 15:19:05.61ID:8YaZLliD VS2026 iPhoneのホットリロード対応してなかった・・・
590デフォルトの名無しさん
2025/11/16(日) 15:45:34.30ID:hOoDF7qK avaloniaにMAUI被せても余計なレイヤが増えるだけでメリット無いだろ
最初からavaloniaで組めば済む話
迷走っぷりに呆れるわ
最初からavaloniaで組めば済む話
迷走っぷりに呆れるわ
591デフォルトの名無しさん
2025/11/19(水) 08:45:20.40ID:3fOYPujh マイウー
592デフォルトの名無しさん
2025/11/19(水) 14:08:14.51ID:JtciCawm MAUIチームは結構な人員削減くらったから妥協案としてAvalonia採用は仕方ないんじゃ無いか
593デフォルトの名無しさん
2025/11/19(水) 15:43:12.54ID:po3LAMtG 元から人少ないイメージしかない
594デフォルトの名無しさん
2025/11/20(木) 02:47:07.19ID:MdW3ACb6 今アクティブなコミッタは4人くらいかな?コード規模に比べて人が少なすぎるよ
MicrosoftはMAUIをどうしたいのかねえ
MicrosoftはMAUIをどうしたいのかねえ
595デフォルトの名無しさん
2025/11/20(木) 13:29:11.33ID:ddB92ZGl もうさ、Fluent UIの実装を各言語の主要UIフレームワーク向けに提供したほうがいいんじゃないか?
C#は諦めよう
C#は諦めよう
596デフォルトの名無しさん
2025/11/21(金) 00:23:25.64ID:/Cpdili4 maui、マジで終わりなの?
Xamarin買収したのは何だったの?
Xamarin買収したのは何だったの?
597デフォルトの名無しさん
2025/11/21(金) 01:21:54.44ID:Qn9mTFMO flash でモバイルアプリが作れるようになったときはすげー簡単に作れて感動したのに
adobeはモバイルアプリから撤退
mauiを始めたらマイクロソフトはmauiチームをリストラ・・・
次はどこに行こう
adobeはモバイルアプリから撤退
mauiを始めたらマイクロソフトはmauiチームをリストラ・・・
次はどこに行こう
598デフォルトの名無しさん
2025/11/21(金) 17:46:57.74ID:YA9gtSxw >>597
が来ちゃったからMAUIも同じ運命か…
が来ちゃったからMAUIも同じ運命か…
599デフォルトの名無しさん
2025/11/21(金) 21:26:18.47ID:Y9/EIU0A 人数少ないのに女が混じってるチームもあるからな
女は多様性とかで混じってるだけで能力低いのばっかなのが現実
女は多様性とかで混じってるだけで能力低いのばっかなのが現実
600デフォルトの名無しさん
2025/11/21(金) 21:33:35.63ID:Qn9mTFMO 女よりやばい
ID:Y9/EIU0A
惨状
ID:Y9/EIU0A
惨状
601デフォルトの名無しさん
2025/11/21(金) 21:53:57.34ID:ey5s4TF0 MAUIとかBlazorとか賑わってるのあるの…
602デフォルトの名無しさん
2025/11/22(土) 02:35:59.03ID:Z75EPBAl >>591
ウマイー
ウマイー
603デフォルトの名無しさん
2025/11/22(土) 13:43:01.62ID:2aUwFr46 あれ?角田とハミルトンは?
レスを投稿する
ニュース
- 地方で深刻移動貧困の実態「車のために働いてる」手取り15万円のシンママ月3.2万円が軽自動車の維持費 [七波羅探題★]
- SNSを一触即発の“地雷原”に変えた「叩き活」の正体…推し活よりも“嫌いな相手を叩く”ことに快感を覚えるのはなぜか [おっさん友の会★]
- 「これらも違反として検挙しています」岡山県警の注意喚起に「教習所行き直したほうがいい」 [試オ波羅探題★]
- 【ファッション】「同級生に笑われたことも」現役女子大生が「全身レギンス姿」で大学に通う理由…日本に「アスレジャー」は定着するのか [湛然★]
- 【芸能】今田美桜、今年の漢字は『走』 世界陸上で熱狂 朝ドラ「あんぱん」で走り抜け [冬月記者★]
- 婚活アプリで独身とウソ「貞操権を侵害」と交際男性に賠償命令、地裁「女性に判断の機会失わせる行為」 [七波羅探題★]
- 高市内閣、立法権を掌握へ🇯🇵 [399259198]
- 古市憲寿「スタジオでも中国批判して気持ち良くなってる人はいるが高市答弁で日本人は損してる。国益を害した」スタジオ凍りつく★2 [931948549]
- 【悲報】自転車乗り、4月から終わる 普通に乗ってても2万3000円くらい罰金を取られる [455031798]
- 「スパイ防止法に反対する奴はスパイ」 ⬅︎これ [279254606]
- 今年の漢字って"米"以外に有力なのないよな
- チップとデールがトイレに駆け込んだ
