Microsoft.AspNetCore.App-Metapaket für ASP.NET Core 2.1 oder höherMicrosoft.AspNetCore.App metapackage for ASP.NET Core 2.1 or later

Dieses Feature erfordert ASP.NET Core 2.1 oder höher für .NET Core 2.1 oder höher.This feature requires ASP.NET Core 2.1 or later targeting .NET Core 2.1 or later.

Das Metapaket Microsoft.AspNetCore.All für ASP.NET Core:The Microsoft.AspNetCore.App metapackage for ASP.NET Core:

  • Enthält keine Drittanbieterabhängigkeiten außer Json.NET, Remotion.Linq und IX-Async.Does not include third-party dependencies except for Json.NET, Remotion.Linq, and IX-Async. Diese Drittanbieterabhängigkeiten sind erforderlich, damit die Features der wichtigsten Frameworks funktionieren.These 3rd-party dependencies are deemed necessary to ensure the major frameworks features function.
  • Enthält alle unterstützten Pakete des ASP.NET Core-Teams außer denen, die Drittanbieterabhängigkeiten enthalten (von den bereits erwähnten abgesehen).Includes all supported packages by the ASP.NET Core team except those that contain third-party dependencies (other than those previously mentioned).
  • Enthält alle unterstützten Pakete des Entity Framework Core-Teams außer denen, die Drittanbieterabhängigkeiten enthalten (von den bereits erwähnten abgesehen).Includes all supported packages by the Entity Framework Core team except those that contain third-party dependencies (other than those previously mentioned).

Im Paket Microsoft.AspNetCore.App sind alle Features von ASP.NET Core 2.1 und höher und Entity Framework Core 2.1 und höher enthalten.All the features of ASP.NET Core 2.1 and later and Entity Framework Core 2.1 and later are included in the Microsoft.AspNetCore.App package. Die Standardprojektvorlagen für ASP.NET Core 2.1 und höher verwenden dieses Paket.The default project templates targeting ASP.NET Core 2.1 and later use this package. Es wird empfohlen, dass Anwendungen für ASP.NET Core 2.1 und höher und Entity Framework Core 2.1 und höher das Paket Microsoft.AspNetCore.App verwenden.We recommend applications targeting ASP.NET Core 2.1 and later and Entity Framework Core 2.1 and later use the Microsoft.AspNetCore.App package.

Die Versionsnummer des Microsoft.AspNetCore.App-Metapakets gibt die erforderlichen Mindestversionen von ASP.NET Core und Entity Framework Core an.The version number of the Microsoft.AspNetCore.App metapackage represents the minimum ASP.NET Core version and Entity Framework Core version.

Durch die Verwendung des Metapakets Microsoft.AspNetCore.App werden Versionseinschränkungen bereitgestellt, die Ihre App schützen:Using the Microsoft.AspNetCore.App metapackage provides version restrictions that protect your app:

  • Wenn ein Paket enthalten wird, das eine transitive (nicht direkte) Abhängigkeit von einem Paket in Microsoft.AspNetCore.App besitzt und diese Versionsnummern sich unterscheiden, generiert NuGet einen Fehler.If a package is included that has a transitive (not direct) dependency on a package in Microsoft.AspNetCore.App, and those version numbers differ, NuGet will generate an error.
  • Andere Pakete, die zu Ihrer App hinzugefügt werden, können die Version der in Microsoft.AspNetCore.App enthaltenen Pakete nicht ändern.Other packages added to your app cannot change the version of packages included in Microsoft.AspNetCore.App.
  • Die Konsistenz von Versionen stellt eine zuverlässige Verwendbarkeit sicher.Version consistency ensures a reliable experience. Microsoft.AspNetCore.App wurde dafür entwickelt, um nicht getestete Versionskombinationen von verwandten Komponenten zu verhindern, die in derselben App zusammen verwendet werden.Microsoft.AspNetCore.App was designed to prevent untested version combinations of related bits being used together in the same app.

Anwendungen, die das Metapaket Microsoft.AspNetCore.App verwenden, profitieren automatisch vom freigegebenen ASP.NET Core-Framework.Applications that use the Microsoft.AspNetCore.App metapackage automatically take advantage of the ASP.NET Core shared framework. Bei Verwendung des Metapakets Microsoft.AspNetCore.App werden mit der Anwendung keine Objekte aus den referenzierten NuGet-Paketen für ASP.NET Core bereitgestellt. Das freigegebene ASP.NET Core-Framework enthält diese Objekte.When you use the Microsoft.AspNetCore.App metapackage, no assets from the referenced ASP.NET Core NuGet packages are deployed with the application—the ASP.NET Core shared framework contains these assets. Die Objekte im freigegebenen Framework sind zur Verbesserung der Startzeit der Anwendung vorkompiliert.The assets in the shared framework are precompiled to improve application startup time. Weitere Informationen finden Sie unter The shared framework (Das freigegebene Framework).For more information, see The shared framework.

Die folgende Projektdatei verweist auf das Metapaket Microsoft.AspNetCore.App für ASP.NET Core und ist eine typische ASP.NET Core 2.1-Vorlage.The following project file references the Microsoft.AspNetCore.App metapackage for ASP.NET Core and represents a typical ASP.NET Core 2.1 template:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

</Project>

Das zuvor erwähnte Markup stellt eine typische Vorlage für Vorlage 2.1 und höher dar.The preceding markup represents a typical ASP.NET Core 2.1 and later template. Es gibt keine Versionsnummer für den Paketverweis Microsoft.AspNetCore.App an.It doesn't specify a version number for the Microsoft.AspNetCore.App package reference. Wenn die Version nicht angegeben wird, wird vom SDK eine implizite Version angegeben (Microsoft.NET.Sdk.Web).When the version is not specified, an implicit version is specified by the SDK, that is, Microsoft.NET.Sdk.Web. Es wird empfohlen, die vom SDK angegebene implizite Version beizubehalten, statt die Versionsnummer im Paketverweis explizit festzulegen.We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. Wenn Sie Fragen zu dieser Vorgehensweise haben, können Sie einen GitHub-Kommentar unter Discussion for the Microsoft.AspNetCore.App implicit version (Diskussion zur impliziten Version für Microsoft.AspNetCore.App) verfassen.If you have questions on this approach, leave a GitHub comment at the Discussion for the Microsoft.AspNetCore.App implicit version.

Die implizite Version wird auf major.minor.0 festgelegt, wenn es sich um Apps für Mobilgeräte handelt.The implicit version is set to major.minor.0 for portable apps. Der Rollforwardmechanismus des freigegebenen Frameworks führt die App auf der neuesten kompatiblen Version der installierten freigegebenen Frameworks aus.The shared framework roll-forward mechanism will run the app on the latest compatible version among the installed shared frameworks. Stellen Sie sicher, dass die gleiche Version des freigegebenen Frameworks in allen Umgebungen installiert ist, um zu gewährleisten, dass die gleiche Version bei der Entwicklung, beim Testen und in der Produktion verwendet wird.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. Bei unabhängigen Apps wird die implizite Versionsnummer auf die Versionsnummer major.minor.patch des freigegebenen Frameworks festgelegt, das im installierten SDK zusammengefasst ist.For self contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

Das Angeben einer Versionsnummer im Microsoft.AspNetCore.App-Verweis garantiert nicht, dass diese Version des freigegebenen Frameworks ausgewählt wird.Specifying a version number on the Microsoft.AspNetCore.App reference does not guarantee that version of the shared framework will be chosen. Gehen Sie beispielsweise davon aus, dass „2.1.1“ angegeben, aber „2.1.3“ installiert ist.For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. In diesem Fall verwendet die App Version 2.1.3.In that case, the app will use "2.1.3". Sie können den Rollforward (für „patch“ und/oder „minor“) deaktivieren. Dies wird jedoch nicht empfohlen.Although not recommended, you can disable roll forward (patch and/or minor). Weitere Informationen zum Rollforward des dotnet-Hosts und der Konfiguration seines Verhaltens finden Sie unter dotnet host roll forward (Rollforward des dotnet-Hosts).For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

Für <Project Sdk muss Microsoft.NET.Sdk.Web festgelegt werden, um die implizite Version Microsoft.AspNetCore.App verwenden zu können.<Project Sdk must be set to Microsoft.NET.Sdk.Web to use the implicit version Microsoft.AspNetCore.App. Wenn <Project Sdk="Microsoft.NET.Sdk"> (ohne nachgestelltes .Web) verwendet wird:When <Project Sdk="Microsoft.NET.Sdk"> (without the trailing .Web) is used:

  • Die folgende Warnung wird generiert:The following warning is generated:

    Warnung NU1604: Projektabhängigkeit Microsoft.AspNetCore.App enthält keine inklusive Untergrenze. Schließen Sie eine Untergrenze in die Abhängigkeitsversion ein, um konsistente Wiederherstellungsergebnisse zu erzielen.)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.

  • Dies ist ein bekanntes Problem mit dem .NET Core 2.1 SDK.This is a known issue with the .NET Core 2.1 SDK.

Aktualisieren von ASP.NET CoreUpdate ASP.NET Core

Das Metapaket Microsoft.AspNetCore.App zählt nicht zu den herkömmlichen Paketen, die über NuGet aktualisiert werden.The Microsoft.AspNetCore.App metapackage isn't a traditional package that's updated from NuGet. Ähnlich wie bei Microsoft.NETCore.App stellt Microsoft.AspNetCore.App eine freigegebene Runtime dar, die über eine spezielle Semantik für die Versionsverwaltung verfügt, die außerhalb von NuGet behandelt wird.Similar to Microsoft.NETCore.App, Microsoft.AspNetCore.App represents a shared runtime, which has special versioning semantics handled outside of NuGet. Weitere Informationen finden Sie unter Pakete, Metapakete und Frameworks.For more information, see Packages, metapackages and frameworks.

So aktualisieren Sie ASP.NET Core:To update ASP.NET Core:

  • Auf Entwicklungscomputern und Buildservern: Laden Sie das .NET Core SDK herunter, und installieren Sie es.On development machines and build servers: Download and install the .NET Core SDK.
  • Auf Bereitstellungsservern: Laden Sie die .NET Core Runtime herunter, und installieren Sie sie.On deployment servers: Download and install the .NET Core runtime.

Für Anwendungen wird beim Neustart der Anwendungen ein Rollforward auf die neueste installierte Version ausgeführt.Applications will roll forward to the latest installed version on application restart. Die Versionsnummer von Microsoft.AspNetCore.App muss in der Projektdatei nicht aktualisiert werden.It's not necessary to update the Microsoft.AspNetCore.App version number in the project file. Weitere Informationen finden Sie unter Von Frameworks abhängige Apps führen einen Rollforward aus.For more information, see Framework-dependent apps roll forward.

Wenn Ihre Anwendung zuvor Microsoft.AspNetCore.All verwendet hat, finden Sie weitere Informationen unter Migrieren von Microsoft.AspNetCore.All zu Microsoft.AspNetCore.App.If your application previously used Microsoft.AspNetCore.All, see Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App.