Delen via


Microsoft.AspNetCore.All metapackage voor ASP.NET Core 2.0

Opmerking

Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikel voor de huidige release.

Waarschuwing

Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie het .NET- en .NET Core-ondersteuningsbeleid voor meer informatie. Zie de .NET 9-versie van dit artikel voor de huidige release.

Belangrijk

Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.

Zie de .NET 9-versie van dit artikel voor de huidige release.

Opmerking

De Microsoft.AspNetCore.All metapackage wordt niet gebruikt in ASP.NET Core 3.0 of hoger. Zie dit GitHub-probleem voor meer informatie.

Opmerking

Toepassingen die zijn gericht op ASP.NET Core 2.1 of hoger, raden we aan de Microsoft.AspNetCore.App metapackage te gebruiken in plaats van dit pakket. Zie Migreren van Microsoft.AspNetCore.All naar Microsoft.AspNetCore.App in dit artikel.

Voor deze functie is ASP.NET Core 2.x vereist die is gericht op .NET Core 2.x.

Microsoft.AspNetCore.All is een metapackage die verwijst naar een gedeeld framework. Een gedeeld framework is een set assemblies (.dll bestanden) die niet in de app-mappen staan. Het gedeelde framework moet op de computer worden geïnstalleerd om de app uit te voeren. Zie Het gedeelde frameworkvoor meer informatie.

Het gedeelde framework waarnaar Microsoft.AspNetCore.All wordt verwezen, omvat:

  • Alle ondersteunde pakketten door het ASP.NET Core-team.
  • Alle ondersteunde pakketten door de Entity Framework Core.
  • Interne en externe afhankelijkheden die worden gebruikt door ASP.NET Core en Entity Framework Core.

Alle functies van ASP.NET Core 2.x en Entity Framework Core 2.x zijn opgenomen in het Microsoft.AspNetCore.All pakket. De standaardprojectsjablonen die zijn gericht op ASP.NET Core 2.0, gebruiken dit pakket.

Het versienummer van de Microsoft.AspNetCore.All metapackage vertegenwoordigt de minimale ASP.NET Core-versie en Entity Framework Core-versie.

Het volgende .csproj bestand verwijst naar de Microsoft.AspNetCore.All metapackage voor 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>

Impliciete versiebeheer

In ASP.NET Core 2.1 of hoger kunt u de Microsoft.AspNetCore.All pakketreferentie zonder versie opgeven. Wanneer de versie niet is opgegeven, wordt een impliciete versie opgegeven door de SDK (Microsoft.NET.Sdk.Web). We raden u aan te vertrouwen op de impliciete versie die is opgegeven door de SDK en niet expliciet het versienummer in te stellen op de pakketverwijzing. Als u vragen hebt over deze benadering, laat u een GitHub-opmerking achter in de discussie voor de Microsoft.AspNetCore.App impliciete versie.

De impliciete versie is ingesteld op major.minor.0 voor draagbare apps. Met het mechanisme voor roll-forward van het gedeelde framework wordt de app uitgevoerd op de nieuwste compatibele versie van de geïnstalleerde gedeelde frameworks. Als u wilt garanderen dat dezelfde versie wordt gebruikt in ontwikkeling, test en productie, moet u ervoor zorgen dat dezelfde versie van het gedeelde framework in alle omgevingen is geïnstalleerd. Voor zelfstandige apps wordt het impliciete versienummer ingesteld op het major.minor.patch gedeelde framework dat is gebundeld in de geïnstalleerde SDK.

Het opgeven van een versienummer op de Microsoft.AspNetCore.All pakketverwijzing garandeert niet dat de versie van het gedeelde framework wordt gekozen. Stel dat versie 2.1.1 is opgegeven, maar '2.1.3' is geïnstalleerd. In dat geval gebruikt de app '2.1.3'. Hoewel dit niet wordt aanbevolen, kunt u roll forward (patch en/of minor) uitschakelen. Zie dotnet host roll-forward voor meer informatie over dotnet host roll-forward en hoe u het gedrag configureert.

De SDK van het project moet in het projectbestand worden ingesteld op Microsoft.NET.Sdk.Web om de impliciete versie van Microsoft.AspNetCore.All te gebruiken. Wanneer de Microsoft.NET.Sdk SDK is opgegeven (<Project Sdk="Microsoft.NET.Sdk"> boven aan het projectbestand), wordt de volgende waarschuwing gegenereerd:

Waarschuwing NU1604: Projectafhankelijkheid Microsoft.AspNetCore.All bevat geen inclusieve ondergrens. Neem een ondergrens op in de afhankelijkheidsversie om consistente herstelresultaten te garanderen.

Dit is een bekend probleem met de .NET Core 2.1 SDK en wordt opgelost in de .NET Core 2.2 SDK.

Migreren van Microsoft.AspNetCore.All naar Microsoft.AspNetCore.App

De volgende pakketten zijn opgenomen in Microsoft.AspNetCore.All maar niet het Microsoft.AspNetCore.App pakket.

  • 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

Als u wilt overstappen van Microsoft.AspNetCore.All naar Microsoft.AspNetCore.App, en uw app API's van de bovenstaande pakketten gebruikt, of van pakketten die door deze pakketten zijn binnengebracht, voeg dan verwijzingen naar die pakketten toe in uw project.

Afhankelijkheden van de voorafgaande pakketten die geen afhankelijkheden van Microsoft.AspNetCore.App zijn, worden niet impliciet opgenomen. Voorbeeld:

  • StackExchange.Redis als een afhankelijkheid van Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights als een afhankelijkheid van Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Bijwerken ASP.NET Core 2.1

U wordt aangeraden te migreren naar de Microsoft.AspNetCore.App metapackage voor 2.1 of hoger. Ga als volgt te werk om de Microsoft.AspNetCore.All metapackage te blijven gebruiken en ervoor te zorgen dat de nieuwste patchversie is geïmplementeerd:

  • Op ontwikkelcomputers en buildservers: installeer de nieuwste .NET Core SDK.
  • Op implementatieservers: installeer de nieuwste .NET Core-runtime. Uw app wordt doorgestuurd naar de meest recente geïnstalleerde versie bij het opnieuw opstarten van een toepassing.