ASP.NET Core 2.0 用の Microsoft.AspNetCore.All メタパッケージMicrosoft.AspNetCore.All metapackage for ASP.NET Core 2.0

注意

ASP.NET Core 2.1 以降を対象とするアプリケーションは、このパッケージではなく Microsoft.AspNetCore.App metapackage を使うことをお勧めします。We recommend applications targeting ASP.NET Core 2.1 and later use the Microsoft.AspNetCore.App metapackage rather than this package. この記事の「Microsoft.AspNetCore.All から Microsoft.AspNetCore.App への移行」をご覧ください。See Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App in this article.

この機能では、.NET Core 2.x を対象とする ASP.NET Core 2.x が必要です。This feature requires ASP.NET Core 2.x targeting .NET Core 2.x.

Microsoft.AspNetCore.All は、共有フレームワークを参照するメタパッケージです。Microsoft.AspNetCore.All is a metapackage that refers to a shared framework. 共有フレームワークは、アプリのフォルダー内にはない一連のアセンブリ ( .dll ファイル) です。A shared framework is a set of assemblies (.dll files) that are not in the app's folders. 共有フレームワークは、アプリを実行するコンピューター上にインストールする必要があります。The shared framework must be installed on the machine to run the app. 詳しくは、共有フレームワークに関するページをご覧ください。For more information, see The shared framework.

Microsoft.AspNetCore.All が参照する共有フレームワークには、次が含まれています。The shared framework that Microsoft.AspNetCore.All refers to includes:

  • ASP.NET Core チームでサポートされるすべてのパッケージ。All supported packages by the ASP.NET Core team.
  • Entity Framework Core でサポートされるすべてのパッケージ。All supported packages by the Entity Framework Core.
  • ASP.NET Core および Entity Framework Core で使用される内部およびサードパーティの依存関係。Internal and 3rd-party dependencies used by ASP.NET Core and Entity Framework Core.

Microsoft.AspNetCore.All パッケージには、ASP.NET Core 2.x および Entity Framework Core 2.x のすべての機能が含まれます。All the features of ASP.NET Core 2.x and Entity Framework Core 2.x are included in the Microsoft.AspNetCore.All package. ASP.NET Core 2.0 を対象とする既定のプロジェクト テンプレートは、このパッケージを使用します。The default project templates targeting ASP.NET Core 2.0 use this package.

Microsoft.AspNetCore.All メタパッケージのバージョン番号は、最小の ASP.NET Core バージョンと Entity Framework Core バージョンを表します。The version number of the Microsoft.AspNetCore.All metapackage represents the minimum ASP.NET Core version and Entity Framework Core version.

次の .csproj ファイルは、ASP.NET Core の Microsoft.AspNetCore.All メタパッケージを参照しています。The following .csproj file references the Microsoft.AspNetCore.All metapackage for ASP.NET Core:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
  </ItemGroup>

</Project>

暗黙的なバージョン管理Implicit versioning

ASP.NET Core 2.1 以降では、バージョンなしで Microsoft.AspNetCore.All パッケージ参照を指定することができます。In ASP.NET Core 2.1 or later, you can specify the Microsoft.AspNetCore.All package reference without a version. バージョンが指定されていない場合は、暗黙的なバージョンが SDK によって指定されます (Microsoft.NET.Sdk.Web)。When the version isn't specified, an implicit version is specified by the SDK (Microsoft.NET.Sdk.Web). SDK によって指定される暗黙的なバージョンを利用し、パッケージ参照ではバージョン番号を明示的に設定しないことをお勧めします。We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. この方法に関して質問がある場合は、Microsoft.AspNetCore.App の暗黙的なバージョンについてのディスカッションで GitHub にコメントしてください。If you have questions about this approach, leave a GitHub comment at the Discussion for the Microsoft.AspNetCore.App implicit version.

ポータブル アプリの場合、暗黙的なバージョンは major.minor.0 に設定されます。The implicit version is set to major.minor.0 for portable apps. 共有フレームワークのロールフォワード メカニズムは、インストールされている共有フレームワークの中で最新の互換性のあるバージョンを使ってアプリを実行します。The shared framework roll-forward mechanism runs the app on the latest compatible version among the installed shared frameworks. 開発、テスト、運用で確実に同じバージョンが使われるようにするため、すべての環境に同じバージョンの共有フレームワークをインストールしてください。To guarantee the same version is used in development, test, and production, ensure the same version of the shared framework is installed in all environments. 自己完結型アプリの場合は、暗黙的なバージョン番号は、インストールされている SDK にバンドルされている共有フレームワークの major.minor.patch に設定されます。For self-contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

Microsoft.AspNetCore.All パッケージ参照でバージョン番号を指定しても、共有フレームワークのバージョンが選択されることは保証されませんSpecifying a version number on the Microsoft.AspNetCore.All package reference does not guarantee that version of the shared framework is chosen. たとえば、バージョン "2.1.1" が指定されているのに、インストールされているのは "2.1.3" であるものとします。For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. この場合、アプリは "2.1.3" を使います。In that case, the app will use "2.1.3". お勧めしませんが、ロールフォワード (パッチとマイナーの両方または一方) を無効にすることができます。Although not recommended, you can disable roll forward (patch and/or minor). .NET ホストのロールフォワードに関する詳細、およびその動作を構成する方法については、.NET ホストのロールフォワードに関するページをご覧ください。For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

暗黙的なバージョンの Microsoft.AspNetCore.All を使用するには、プロジェクト ファイルでプロジェクトの SDK を Microsoft.NET.Sdk.Web に設定する必要があります。The project's SDK must be set to Microsoft.NET.Sdk.Web in the project file to use the implicit version of Microsoft.AspNetCore.All. Microsoft.NET.Sdk SDK が (プロジェクト ファイル上部の <Project Sdk="Microsoft.NET.Sdk"> で) 指定されている場合、次の警告が生成されます。When the Microsoft.NET.Sdk SDK is specified (<Project Sdk="Microsoft.NET.Sdk"> at the top of the project file), the following warning is generated:

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 には下限が含まれていません。復元結果に一貫性が与えられるように、依存関係バージョンに下限を追加してください。)Warning NU1604: Project dependency Microsoft.AspNetCore.All does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.

これは .NET Core 2.1 SDK に関する既知の問題であり、.NET Core 2.2 SDK で修正されます。This is a known issue with the .NET Core 2.1 SDK and will be fixed in the .NET Core 2.2 SDK.

Microsoft.AspNetCore.All から Microsoft.AspNetCore.App への移行Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App

以下のパッケージは、Microsoft.AspNetCore.All には含まれますが Microsoft.AspNetCore.App パッケージには含まれません。The following packages are included in Microsoft.AspNetCore.All but not the Microsoft.AspNetCore.App package.

  • 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 に移行するには、これらのパッケージへの参照をプロジェクトに追加します。To move from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App, if your app uses any APIs from the above packages, or packages brought in by those packages, add references to those packages in your project.

上記のパッケージの依存関係のうち、他の部分で Microsoft.AspNetCore.App の依存関係になっていないものは、暗黙的に含まれることはありません。Any dependencies of the preceding packages that otherwise aren't dependencies of Microsoft.AspNetCore.App are not included implicitly. 次に例を示します。For example:

  • Microsoft.Extensions.Caching.Redis の依存関係としての StackExchange.RedisStackExchange.Redis as a dependency of Microsoft.Extensions.Caching.Redis
  • Microsoft.AspNetCore.ApplicationInsights.HostingStartup の依存関係としての Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights as a dependency of Microsoft.AspNetCore.ApplicationInsights.HostingStartup

ASP.NET Core 2.1 を更新するUpdate ASP.NET Core 2.1

2.1 以降用の Microsoft.AspNetCore.App メタパッケージに移行することをお勧めします。We recommend migrating to the Microsoft.AspNetCore.App metapackage for 2.1 and later. Microsoft.AspNetCore.All メタパッケージを引き続き使用し、最新のバージョンの修正プログラムが配置されていることを確認するには、次のようにします。To keep using the Microsoft.AspNetCore.All metapackage and ensure the latest patch version is deployed:

  • 開発用コンピューターおよびビルド サーバーの場合:最新の .NET Core SDK をインストールします。On development machines and build servers: Install the latest .NET Core SDK.
  • 配置サーバーの場合:最新の .NET Core ランタイムをインストールします。On deployment servers: Install the latest .NET Core runtime. ご利用のアプリは、アプリケーションの再起動時にインストールされている最新バージョンにロールフォワードされます。Your app will roll forward to the latest installed version on an application restart.