Metapackage Microsoft.AspNetCore.All pro ASP.NET Core 2.0

Poznámka

Metabalík Microsoft.AspNetCore.All se nepoužívá v ASP.NET Core 3.0 a novějším. Další informace najdete u tohoto problému na GitHubu.

Poznámka

Doporučujeme, aby aplikace cílené na ASP.NET Core 2.1 a novější používaly místo tohoto balíčku metabalíč Microsoft.AspNetCore.App. Viz Migrace z Microsoft.AspNetCore.All na Microsoft.AspNetCore.App v tomto článku.

Tato funkce vyžaduje, ASP.NET Core 2.x cílí na .NET Core 2.x.

Microsoft.AspNetCore.All je metabalík, který odkazuje na sdílenou architekturu. Sdílená architektura je sada sestavení (soubory .dll ), která nejsou ve složkách aplikace. Aby bylo možné aplikaci spustit, musí být na počítači nainstalovaná sdílená architektura. Další informace naleznete v části Sdílená architektura.

Sdílená architektura, která Microsoft.AspNetCore.All se týká, zahrnuje:

  • Všechny podporované balíčky týmu ASP.NET Core.
  • Všechny podporované balíčky entity Framework Core.
  • Interní závislosti a závislosti třetích stran používané ASP.NET Core a Entity Framework Core

Součástí balíčku jsou Microsoft.AspNetCore.All všechny funkce ASP.NET Core 2.x a Entity Framework Core 2.x. Výchozí šablony projektů, které cílí na ASP.NET Core 2.0, používají tento balíček.

Číslo Microsoft.AspNetCore.All verze metabalíku představuje minimální verzi ASP.NET Core a verzi Entity Framework Core.

.csproj Následující soubor odkazuje na Microsoft.AspNetCore.All metabalík pro 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>

Implicitní správa verzí

V ASP.NET Core 2.1 nebo novějším můžete zadat odkaz na Microsoft.AspNetCore.All balíček bez verze. Pokud není zadaná verze, je implicitní verze určená sadou SDK (Microsoft.NET.Sdk.Web). Doporučujeme spoléhat se na implicitní verzi určenou sadou SDK a ne explicitně nastavit číslo verze v odkazu na balíček. Pokud máte dotazy k tomuto přístupu, napište komentář GitHubu v diskuzi pro Microsoft.AspNetCore.App implicitní verzi.

Implicitní verze je nastavená na major.minor.0 přenosnou aplikaci. Mechanismus postupného uvedení sdílené architektury spouští aplikaci na nejnovější kompatibilní verzi mezi nainstalovanými sdílenými architekturami. Pokud chcete zaručit, že se stejná verze používá ve vývoji, testování a produkčním prostředí, ujistěte se, že je ve všech prostředích nainstalovaná stejná verze sdílené architektury. U samostatných aplikací je implicitní číslo verze nastavené na major.minor.patch sdílenou architekturu, která je součástí nainstalované sady SDK.

Zadání čísla verze v odkazu na Microsoft.AspNetCore.All balíček nezaručuje, že je zvolena verze sdíleného rozhraní. Předpokládejme například, že je zadaná verze 2.1.1, ale je nainstalovaná verze 2.1.3. V takovém případě aplikace použije hodnotu 2.1.3. I když se nedoporučuje, můžete zakázat vrácení vpřed (oprava nebo podverze). Další informace o roll-forward hostitele dotnet a o tom, jak nakonfigurovat jeho chování, naleznete v tématu dotnet host roll forward.

Aby bylo možné použít implicitní verzi Microsoft.AspNetCore.Allsady SDK projektu, musí být v souboru projektu nastavena Microsoft.NET.Sdk.Web sada SDK projektu. Microsoft.NET.Sdk Při zadání sady SDK (<Project Sdk="Microsoft.NET.Sdk">v horní části souboru projektu) se vygeneruje následující upozornění:

Upozornění NU1604: Závislost projektu Microsoft.AspNetCore.All neobsahuje inkluzivní dolní mez. Do verze závislosti zahrňte dolní mez, abyste zajistili konzistentní výsledky obnovení.

Jedná se o známý problém se sadou .NET Core 2.1 SDK a opraví se v sadě .NET Core 2.2 SDK.

Migrace z Microsoft.AspNetCore.All na Microsoft.AspNetCore.App

Následující balíčky jsou součástí Microsoft.AspNetCore.All balíčku, ale ne.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

Pokud chcete přejít z Microsoft.AspNetCore.All aplikace na Microsoft.AspNetCore.App, pokud vaše aplikace používá nějaká rozhraní API z výše uvedených balíčků nebo balíčků přenesených těmito balíčky, přidejte do projektu odkazy na tyto balíčky.

Všechny závislosti předchozích balíčků, které jinak nejsou závislostmi Microsoft.AspNetCore.App , nejsou zahrnuté implicitně. Příklad:

  • StackExchange.Redis jako závislost Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights jako závislost Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Aktualizace ASP.NET Core 2.1

Doporučujeme migrovat na Microsoft.AspNetCore.App metabalíc pro verzi 2.1 a novější. Pokud chcete metabalíč dál používat Microsoft.AspNetCore.All a ujistěte se, že je nasazená nejnovější verze opravy:

  • Na vývojových počítačích a buildovacích serverech: Nainstalujte nejnovější sadu .NET Core SDK.
  • Na serverech nasazení: Nainstalujte nejnovější modul runtime .NET Core. Vaše aplikace se při restartování aplikace vrátí na nejnovější nainstalovanou verzi.