Microsoft Developer Day 視聴メモ BS4

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

  • Blazor への移行が推奨
  • Blazor Server がおすすめ(ASP.Net WEB Form と相性良い)
  • Blazor用のWEBFormの移植(OSS)がある

WCF

  • gRPC への移行(司会おすすめ)
  • CoreWCFへの移行

end