スキップしてメイン コンテンツに移動

.NET MAUI .NET7から.NET8への移行にはまった話

Microsoft.Android.Ref.33とは??

備忘録として

マイクロソフトさん頼みますよ・・・

Visual Studioに新しいバージョンが降ってきたので早速.NET8に変更してビルドしたら

Androidのビルドで

「パックバージョンの取得エラー。パック 'Microsoft.Android.Ref.33' がワークロード マニフェストに存在しませんでした。」 

とエラーになって、ビルドが通らない

どうやっても通らない

もしかして.net8は諦めないとダメなのか?

プロジェクトファイルを直接編集

そんなことは無い

プロジェクトファイルを直接編集したら直った。
直すまでは焦ったけどな

まっさらなプロジェクトを作って比較してみた

ダメなプロジェクトファイル

    <PropertyGroup>
        <TargetFrameworks>net7.0-maccatalyst;net8.0-android33.0;net8.0-ios</TargetFrameworks>
        <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
        <!-- <TargetFrameworks>$(TargetFrameworks);net7.0-tizen</TargetFrameworks> -->


修正後のプロジェクトファイル

    <PropertyGroup>
        <TargetFrameworks>net8.0-android;net8.0-maccatalyst</TargetFrameworks>
        <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
        <!-- <TargetFrameworks>$(TargetFrameworks);net8.0-tizen</TargetFrameworks> -->

おわかりいただけるでしょうか

ダメな方はAndroidのプロジェクトに 

;net8.0-android33.0

と「-android33.0」と言うのが入っている

それと入れた覚えの無いnet8.0-iosも(iosは対象から外しているのよ)

なので、そこを書き換えたらビルドは上手く行きました

対象バージョンが消えた

が、焦るのはそれだけでは無い

 

プロジェクトファイルのAndroid部分
プロジェクトファイルからターゲットフレームワークが.NET8だと空白になってしまう

何じゃこりゃーと思ったがこれでいいらしい

マニフェストファイルにちゃんとターゲットが設定されていればそれを引き継ぐ

例えばえるいーだーはこう

Androidのマニフェスト

ちゃんと対象バージョンをマニフェストに設定していれば心配することは無い・・・

と言うか、今まで両方を設定しなければ行けなかったことがおかしいのだろう

ScrollView

その他ScrollViewが本来の動作に戻った

実はContentPage.ContentやContentView.Contentの下にScrollViewたStackLayoutを何故か並列に書いていても動作してしまったのですが、そんなことをしたらScrollViewは動作しなくなります。

と言うかそれが本来の動作なんだけど、何故かそれでもうちではスクロールビューが機能していたのよね
それが潰されてしまった(と言うかきっとそれはバグ技だったのだろう)

おしまい

コメント

このブログの人気の投稿

ImDiskの後継アプリのAIM toolkitを試してみた

ImDiskの開発辞めちゃったらしい というわけで、じゃあ後継ソフトはあるのかと思ったらあった 遅いと言われているけど・・・ とインストールしてみた ImDiskのこの間の結果はこちら 再びRAM DISK(ImDisk)   blog.mazepin-led.com    そして今回のAIM Toolkit なんか、無茶苦茶遅くなってるな 下手するとSSDの方が速いじゃん CPUの使用状態はこんな感じ PIO転送なところは変わって無さそう まあ、遅いからと言ってその速度が体感できるのかというと出来ないんだけどね と思ったところで、なんか設定変えてみたらどうなるのだろう Allocate Memory Dynamicallyというのは、メモリを必要に応じてってことだからと思って以前試したことがあったけど、なんかImDiskのときは不安定だったんだよな  AdvancedのとこにあるUse AWE Physical Memoryというのが良くわからないけど、チェックしてみたら速くなった おお、大分速くなった。なったけど・・・・なんで? これだとImDiskよりちょっと遅いくらいになるのか もしやQuickFormatととかでも変わるのか?と思ったけどそこまでやる気も無かったので放置。速くなるわけないよね。 後は圧縮とか、取り外しメディアとかだし。   最近の性能の良いSSDのおかげで RAM DISKというものの存在意義が薄れちゃったね まあそれでとにかく速度を稼ぎたいぜって人は SoftPerfect RamDiskでも使ってください 昔はPrimo Ramdisk使ってました。当時使ってたけどなかなか良かった。 当時SSD無茶苦茶高かったし。 今はほぼ無用になってしまったが・・・ 未だにスタンダード版は8GBまでなんだな キャッシュ領域にしたいなら大人しく余ってるSSDを使った方がいいんじゃ無いかって気がするけど  おしまい

RAM DISKを使ってみた(使ったのはImDisk)

GWだし、まあちょっとラムディスクを入れてみました うちのPCはWindows11 使ったのはImDiskというRAM Disk。 まあ、この辺のインストールとかはあちこちで解説してる人がいるので適当にぐぐってくださいな で、とりあえずベンチマーク なかなかいいスピードだ で、大抵の人はブラウザのキャッシュをRAMディスクにするといいよ・・・と言うけど そもそもメインドライブがNVMeのSSDを使っている状態で、体感速度なんか上がらない(使い終わったキャッシュを再起動したら綺麗さっぱり捨て去ってくれるという利点はある)  うちで一番効果があるのは Adobe Audition というアプリ これが結構高速化する(キャッシュをちゃんとRAMディスクにしたら・・・だけど) ハイレゾ音源だと、1時間の音源が何かする度に4GBのファイルを作られてしまう なので、RAM DISKにすると、結構編集時間を短縮できる Premiere Rushも出力先をRam Diskにしておいて終わったら、SSDにコピーすると言う事をやるとかなりスピードアップになる 実はうちのPCは普段は99%のパワーで動作していて、CPUのターボブーストが掛からないようになっている 大体3.6GHz当たりで安定してるのだけど、これを100%にするとターボブースト機能がONになって一部のコアが4.5とか4.8GHzまで上がる まあ、毎回電源オプションをいじる事になるのだけどさ・・・ そうしてベンチを取ると こんな感じ とは言え、ブーストしてるからと行ってRam Diskのスピードの差を体感する事はさすがに無理 ・・・と言うかフォトショでもRAM DISKにしてよかった・・・と言うほど変わらない SSDの性能が上がってきたしもし次にPCを買い換えたらRAM DISKよりSSDの方が速いかもね  

再びRAM DISK(ImDisk)

PCに色々ゴミがたまってきたのでクリーンインストールし直した ・・ので、とりあえずある程度インストールが終わったので RAMディスクのベンチを取ってみた   RAM DISKを使ってみた(使ったのはImDisk)   blog.mazepin-led.com 前回はこんな感じでベンチ取ってたのよね 今回はこんな感じ 最初はなんか誤差のレベルだなーと思ってたけど、RND4KのWRITEが結構早くなってました CristalDiskMarkもImDiskも今日時点での最新版で試したので、まあ何か変わってるんだろう BIOSだってOSのバージョンだって変わってるしな システムディスクのSSDも変わってますがRAMやらCPUやらは当時のまま   一生懸命頑張っているCPUの様子がこれ。 基本、RAMディスクってPIO転送だからCPUのパワーをがっつり持って行ってしまう おしまい