Microsoft Developer Day 視聴メモ BS4
時は来たれり。今こそ .NET 6 へ移行する時 BS4
視聴メモ:
事前
PackageReference 形式
- package.config → プロジェクトファイル
- 推移的な依存を削除(依存の依存の・・・)
- package.config → PackageReference は 右クリックから可能
SDKスタイル
依存先の調査
Nuget/プロジェクト参照/非Nugetパッケージ
Nuget
- .NetStandard or .NetCoreの依存があれば (たぶん).Net6で稼働
- ライブラリの破壊的変更のエラーは厄介なことが多い
- .Net6移行とライブラリ移行の混在は厄介
プロジェクト参照
- 移行不要の可能性あり→互換モード
- .Net standard2.0 として参照
非Nugetパッケージ(DLLのみ)
- 開発元に聞く
- .Net portability analyzer で解析
- 分からなかった場合は、別を検討
- .Net portability analyzer 使用例
- 現状:.net5への移行をチェックしてくれる
移行
.Net6への移行
- プロジェクトの変更は簡易
依存先のアップグレード
- Nugetをあげる&エラー修正
- API(エラー)への対応
- Visual Studioであれば警告出る
- 使用てきないAPI/例外をスローするAPI → 再実装
- 挙動が違うAPI → 修正
移行ツール
- .NET Upgrade Assistant
- Xamarin 今後対応予定がある
- ここまで紹介してきたものを、ほぼ全て対応してくれる
- 各処理を個別にスキップも可能
- Nugetの更新は、使用しない(スキップ)がおすすめ。他のエラーと混ざると厄介(司会意見)
フレームワーク別に説明
WindowsForm/WPF
- Windows互換性パッケージ参照を追加
ASP.NET Core MVC
- ASP.NET Core MVC2.2 に一旦 移行する。(2.2 は互換性高い。手動移行)
- Upgrade Assistantで、 Core2.2へ
- 手動でcore3.1 に
- Upgrade Assistantで 最終形に
Xamarin Forms
- 2022-Q2 まで待って
Xamarin ネイティブ
- Vsプレビューならテンプレートがある(司会:たぶんこれかな?)
ASP.Net WEB Form
WCF
- gRPC への移行(司会おすすめ)
- CoreWCFへの移行
end