インクリメンタルな ASP.NET から ASP.NET Core への移行の概要
大規模な移行の場合は、元の .NET Framework アプリにプロキシする ASP.NET Core アプリを設定することをお勧めします。 新しいプロキシが有効なアプリを次の図に示します。
移行プロセスでこの方法がどのように役立つのかを理解するには、「インクリメンタルな ASP.NET から ASP.NET Core への移行」を参照してください。 この記事の残りの部分では、インクリメンタルな移行を進めるための手順について説明します。
ASP.NET Core プロジェクトを設定する
ASP.NET MVC および Web API アプリについては、「ASP.NET MVC および Web API から ASP.NET Core MVC にアップグレードする方法」を参照してください。 ASP.NET Framework Web フォーム アプリについては、「ASP.NET Web フォームから ASP.NET Core にアップグレードする方法」を参照してください。
サポート ライブラリをアップグレードする
ソリューションに使用する必要があるサポート ライブラリがある場合は、それらは可能であれば .NET Standard 2.0 にアップグレードするべきです。 Upgrade Assistant は、このための優れたツールです。 ライブラリが .NET Standard をターゲットにできない場合は、元のプロジェクトの .NET Framework ターゲットと共に、または元のプロジェクトと共に新しいプロジェクトで .NET 6 以降をターゲットにすることができます。
クラス ライブラリでの System.Web.HttpContext
の使用のサポートを可能にするために、これらのライブラリでアダプターを使用することができます。 ライブラリで System.Web.HttpContext
の使用を可能にするには:
- プロジェクト ファイル内の
System.Web
への参照を削除します Microsoft.AspNetCore.SystemWebAdapters
パッケージを追加します- マルチターゲットを有効にして .NET 6 以降のターゲットを追加するか、プロジェクトを .NET Standard 2.0 に変換します。
- ターゲット フレームワークで .NET Core がサポートされていることを確認します。 .NET Standard 2.0 が十分でない場合は、マルチターゲットを使用できます
この手順では、ソリューションの構造に応じて、いくつかのプロジェクトを変更する必要がある場合があります。 Upgrade Assistant は、変更する必要があるものを特定し、プロセス内のいくつかの手順を自動化するのに役立ちます。
セッション サポートを有効にする
セッションは API が大きく異なる ASP.NET Core の機能と名前を共有する ASP.NET の一般的に使用される機能です。 セッション サポートに関するドキュメントを参照してください。
共有認証のサポートを有効にする
System.Web
アダプターのリモート認証機能を使用することで、元の ASP.NET アプリと新しい ASP.NET Core アプリの間で認証を共有することが可能です。 この機能により、ASP.NET Core アプリは、ASP.NET アプリへ認証を先送りできます。 詳細については、リモート アプリ接続とリモート認証に関するドキュメントを参照してください。
一般的な使用方法のガイダンス
アダプターが更新を支援できる ASP.NET と ASP.NET Core の違いがいくつかあります。 ただし、一定のコストが発生するため、オプトインが必要な機能がいくつかあります。 調整できない動作もあります。 これらの一覧については、「使用方法のガイダンス」を参照してください。
ASP.NET Core