ASP.NET Core 2.0 用の Microsoft.AspNetCore.All メタパッケージ
Note
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 8 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、「.NET および .NET Core サポート ポリシー」を参照してください。 現在のリリースについては、この記事の .NET 8 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。
現在のリリースについては、この記事の .NET 8 バージョンを参照してください。
Note
Microsoft.AspNetCore.All
メタパッケージは ASP.NET Core 3.0 以降には含まれません。 詳細については、次を参照してください。この GitHub の問題します。
Note
ASP.NET Core 2.1 以降を対象とするアプリケーションは、このパッケージではなく Microsoft.AspNetCore.App metapackage を使うことをお勧めします。 この記事の「Microsoft.AspNetCore.All から Microsoft.AspNetCore.App への移行」をご覧ください。
この機能では、.NET Core 2.x を対象とする ASP.NET Core 2.x が必要です。
Microsoft.AspNetCore.All は、共有フレームワークを参照するメタパッケージです。 共有フレームワークは、アプリのフォルダー内にはない一連のアセンブリ (.dll ファイル) です。 共有フレームワークは、アプリを実行するコンピューター上にインストールする必要があります。 詳しくは、共有フレームワークに関するページをご覧ください。
Microsoft.AspNetCore.All
が参照する共有フレームワークには、次が含まれています。
- ASP.NET Core チームでサポートされるすべてのパッケージ。
- Entity Framework Core でサポートされるすべてのパッケージ。
- ASP.NET Core および Entity Framework Core で使用される内部およびサードパーティの依存関係。
Microsoft.AspNetCore.All
パッケージには、ASP.NET Core 2.x および Entity Framework Core 2.x のすべての機能が含まれます。 ASP.NET Core 2.0 を対象とする既定のプロジェクト テンプレートは、このパッケージを使用します。
Microsoft.AspNetCore.All
メタパッケージのバージョン番号は、最小の ASP.NET Core バージョンと Entity Framework Core バージョンを表します。
次の .csproj
ファイルは、ASP.NET Core の Microsoft.AspNetCore.All
メタパッケージを参照しています。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
</ItemGroup>
</Project>
暗黙的なバージョン管理
ASP.NET Core 2.1 以降では、バージョンなしで Microsoft.AspNetCore.All
パッケージ参照を指定することができます。 バージョンが指定されていない場合は、暗黙的なバージョンが SDK によって指定されます (Microsoft.NET.Sdk.Web
)。 SDK によって指定される暗黙的なバージョンを利用し、パッケージ参照ではバージョン番号を明示的に設定しないことをお勧めします。 この方法に関して質問がある場合は、Microsoft.AspNetCore.App の暗黙的なバージョンについてのディスカッションで GitHub にコメントしてください。
ポータブル アプリの場合、暗黙的なバージョンは major.minor.0
に設定されます。 共有フレームワークのロールフォワード メカニズムは、インストールされている共有フレームワークの中で最新の互換性のあるバージョンを使ってアプリを実行します。 開発、テスト、運用で確実に同じバージョンが使われるようにするため、すべての環境に同じバージョンの共有フレームワークをインストールしてください。 自己完結型アプリの場合は、暗黙的なバージョン番号は、インストールされている SDK にバンドルされている共有フレームワークの major.minor.patch
に設定されます。
Microsoft.AspNetCore.All
パッケージ参照でバージョン番号を指定しても、共有フレームワークのバージョンが選択されることは保証されません。 たとえば、バージョン "2.1.1" が指定されているのに、インストールされているのは "2.1.3" であるものとします。 この場合、アプリは "2.1.3" を使います。 お勧めしませんが、ロールフォワード (パッチとマイナーの両方または一方) を無効にすることができます。 .NET ホストのロールフォワードに関する詳細、およびその動作を構成する方法については、.NET ホストのロールフォワードに関するページをご覧ください。
暗黙的なバージョンの Microsoft.AspNetCore.All
を使用するには、プロジェクト ファイルでプロジェクトの SDK を Microsoft.NET.Sdk.Web
に設定する必要があります。 Microsoft.NET.Sdk
SDK が (プロジェクト ファイル上部の <Project Sdk="Microsoft.NET.Sdk">
で) 指定されている場合、次の警告が生成されます。
Warning NU1604: Project dependency Microsoft.AspNetCore.App does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results. (警告 NU1604: プロジェクト依存関係 Microsoft.AspNetCore.App には下限が含まれていません。復元結果に一貫性が与えられるように、依存関係バージョンに下限を追加してください。)
これは .NET Core 2.1 SDK に関する既知の問題であり、.NET Core 2.2 SDK で修正されます。
Microsoft.AspNetCore.All から Microsoft.AspNetCore.App への移行
以下のパッケージは、Microsoft.AspNetCore.All
には含まれますが Microsoft.AspNetCore.App
パッケージには含まれません。
Microsoft.AspNetCore.ApplicationInsights.HostingStartup
Microsoft.AspNetCore.AzureAppServices.HostingStartup
Microsoft.AspNetCore.AzureAppServicesIntegration
Microsoft.AspNetCore.DataProtection.AzureKeyVault
Microsoft.AspNetCore.DataProtection.AzureStorage
Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
Microsoft.AspNetCore.SignalR.Redis
Microsoft.Data.Sqlite
Microsoft.Data.Sqlite.Core
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Sqlite.Core
Microsoft.Extensions.Caching.Redis
Microsoft.Extensions.Configuration.AzureKeyVault
Microsoft.Extensions.Logging.AzureAppServices
Microsoft.VisualStudio.Web.BrowserLink
アプリで上記のパッケージまたは上記のパッケージによって取り込まれるパッケージに含まれるいずれかの API を使っている場合、Microsoft.AspNetCore.All
から Microsoft.AspNetCore.App
に移行するには、これらのパッケージへの参照をプロジェクトに追加します。
上記のパッケージの依存関係のうち、他の部分で Microsoft.AspNetCore.App
の依存関係になっていないものは、暗黙的に含まれることはありません。 次に例を示します。
Microsoft.Extensions.Caching.Redis
の依存関係としてのStackExchange.Redis
Microsoft.AspNetCore.ApplicationInsights.HostingStartup
の依存関係としてのMicrosoft.ApplicationInsights
ASP.NET Core 2.1 を更新する
2.1 以降用の Microsoft.AspNetCore.App
メタパッケージに移行することをお勧めします。 Microsoft.AspNetCore.All
メタパッケージを引き続き使用し、最新のバージョンの修正プログラムが配置されていることを確認するには、次のようにします。
- 開発用コンピューターやビルド サーバー上: 最新の .NET Core SDK をインストールします。
- 展開サーバー上: 最新の .NET Core ランタイムをインストールします。 ご利用のアプリは、アプリケーションの再起動時にインストールされている最新バージョンにロールフォワードされます。
ASP.NET Core