Microsoft .NET MAUI part10 [Xamarin]

レス数: 605

概要: 双方向つうのがまず無理があんだよ そのため方向を制限する機能はついてんだけど
No.551
双方向つうのがまず無理があんだよ
そのため方向を制限する機能はついてんだけど
No.552
MVVMって書いてるから違うと思うがprism使ってたら代入と参照のインスタンスが違うなんてことはよくある
ほとんどはDI理解不足だと思う
自分が知らんだけかもしれんがJAVAみたいにインスタンスIDがwatchでみたいわ
No.553
UWPがまさかの.NET 9対応
UWP with .NET 9 and native AOT
WinUI3の次の予定まさかのDesigner
No.554
Designerやんのか
No.555
.NET 9のpreviewが出たからインストールしてみたが
WPFのWindows 11テーマいいな
とりあえず生き返った感じ
No.556
良き良き
WPFのtrimming/NativeAOT対応も頼んます
No.557
どれだけFluentか知らんがとりあえずDarkテーマあるだけよし
つか、ツールバーにのせたら一部スタイリングバグってるな
No.558
LTSでもサポート期間が短すぎる
PC1台買い換えるまですら持たないとか
どこも同じなのかな
No.559
VSアプデしたらMAUIプロジェクトビルドできなくなったり、今まで問題なく走ってたのが動かなくなったり
いい加減にしてもらいたい
No.560
Line Loginのnugetありますか?
No.561
なんかVisual Studioビルド時に固まること多くない?
AndroidとWindowsでリリース用のパッケージを作るとビルドが永遠に終わらなくなることが多くなった
No.562
使用不可な機能を表示するな!!
Microsoft!Windows!死ね!死ね!死ね!地獄へ堕ちろ!
No.563
17.14でAndroid向けの新しいデバッガー、チェックをONにしたけど
何が変わったのだろう・・・
No.564
感じるんだ
No.565
なんか最近のアップデートを適用したら
実機のAndroid8/10でアプリをデバッガから起動しようとしたら、起動するなり停まってしまう
実機のAndroid13の機種やエミュレーターだと8-15まで全部問題なし
実機でタップして起動するのは問題ないけど、おま環なの?
No.566
>>565

AndroidはAndroid 12以降をターゲットにすればいい。
そんな古いバージョンを使っているような会社は切り捨てろ。
No.567
みんなおらんの?
.net8のプロジェクトを.net9にしたらリリースモードでアプリが起動しなくなったんだけど
どうやってデバッグしたら良いの?
デバッグモードだとしれっと動くのよ・・・
No.568
ライブラリが足りないか、リリース用のDLLをネットから持ってきたため実行権限がないとか。
DLLのプロパティ開いてブロックかかってないか見てみたら?
No.569
ほんとに起動しないの?起動したけどエラーで落ちてるとかでは?
No.570
コマンドプロンプトの画面から呼び出したらエラー内容みえたりしないのかな。
No.571
copilotさんにログ貼り付けたりして頑張ったら
trim外せって言われて外したら動いた
トリム外すだけだとなんかリンカーが通らないから変なオプションも手動で書くように言われて書いたら解決した
Trimで何が消えたんだよ・・・・
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net9.0-android35.0|AnyCPU'">
<PublishTrimmed>false</PublishTrimmed> <=ここがリリースだとデフォルトtrue
<RunAOTCompilation>false</RunAOTCompilation> <=copilotさんにかけと言われて書いた
</PropertyGroup>
No.572
今回の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 に起因するクラッシュを回避します。
No.573
まとめ
.NET 9 で Release ビルドの最適化が強化
Trim(未使用コード削除)→ 必要なコードが消える
AOT(事前ネイティブ化)→ 動的生成や特殊ケースが壊れる
今回の設定はそれらを無効化して「安全寄りのビルド」に戻した
メリット: 確実に動く
デメリット: APKサイズ増加・起動時間やパフォーマンス低下
本番運用に向けた改善案
Trim 無効化の代わりに
DynamicDependency や Preserve 属性で必要な型を明示
TrimmerRootAssembly 設定を活用
AOT 無効化の代わりに
動的コード依存を減らす
AOT 対応コードへの置き換え
要するに、この変更は「.NET 9 から Release ビルドの安全マージンが減ったので、自分で安全側に戻した」という状態です。
もしサイズや速度も重視するなら、無効化ではなく「安全に最適化を活かす設定」にしていく必要があります。
No.574
互換性ぶっ壊しといて安全です言われてもなあ
No.575
余計なことしかしない
No.576
Trimで何を削ったのかさくっとリスト出してくれればいいがそうはならないのよな
No.577
AOTは実行時例外出しまくったから即オフったわ
あんなもんデフォルトとか正気の沙汰じゃない
No.578
iOSでも試したけど
MtouchNoSymbolStripをfalseにしないと俺のアプリ起動に失敗しちゃう
gccのtrimでこんなダメダメなの聞いたこと無いんだが・・・
No.579
ダメだった
動いたの古いビルドだった
.NET9にすると、iOSなんか、テンプレートのカウントプログラムすら動かなくなるな・・・
なんだこりゃ
No.580
こりゃ、.net10が楽しみだな
No.581
結局は誰も触ってないから問題も上がらないってことか
No.582
.NET10 になったら
.NET9ではAOTをチェックすると起動しなくなる問題が解決するのかな
No.583
AvaloniaバックエンドでLinux対応…
ネイティブ描画にこだわってた意味は…?
No.584
あいつ前からlinuxで動いてなかったか?
ブラウザコントロールみたいなのはだめだけど
No.585
Avaloniaがflutterのimpellerバックエンドをどうこうとかもみたな
No.586
うーんMacもAvaloniaベースの方が高速なのか…
もうLinuxだけでなく全プラットフォームAvaloniaに寄生でよくないか?
ネイティブにこだわっても低性能バグだらけの実装しかできないんだから
No.587
バックエンドAvaloniaかよ
No.588
.NET10はAoTをもっと進めたってドヤ顔で書いてるけど
どうせ迂闊に指定すると起動すらしなくて、自分でどのモジュールをAoTの対象外にするかちまちま調べなきゃいけないんだろ?
No.589
VS2026 iPhoneのホットリロード対応してなかった・・・
No.590
avaloniaにMAUI被せても余計なレイヤが増えるだけでメリット無いだろ
最初からavaloniaで組めば済む話
迷走っぷりに呆れるわ
No.591
マイウー
No.592
MAUIチームは結構な人員削減くらったから妥協案としてAvalonia採用は仕方ないんじゃ無いか
No.593
元から人少ないイメージしかない
No.594
今アクティブなコミッタは4人くらいかな?コード規模に比べて人が少なすぎるよ
MicrosoftはMAUIをどうしたいのかねえ
No.595
もうさ、Fluent UIの実装を各言語の主要UIフレームワーク向けに提供したほうがいいんじゃないか?
C#は諦めよう
No.596
maui、マジで終わりなの?
Xamarin買収したのは何だったの?
No.597
flash でモバイルアプリが作れるようになったときはすげー簡単に作れて感動したのに
adobeはモバイルアプリから撤退
mauiを始めたらマイクロソフトはmauiチームをリストラ・・・
次はどこに行こう
No.598
>>597

が来ちゃったからMAUIも同じ運命か…
No.599
人数少ないのに女が混じってるチームもあるからな
女は多様性とかで混じってるだけで能力低いのばっかなのが現実
No.600
女よりやばい
ID:Y9/EIU0A
惨状