Métapackage Microsoft.AspNetCore.All pour ASP.NET Core 2.0Microsoft.AspNetCore.All metapackage for ASP.NET Core 2.0

Notes

Nous recommandons que les applications qui ciblent ASP.NET Core 2.1 et ultérieur utilisent le métapackage Microsoft.AspNetCore.App au lieu de ce package.We recommend applications targeting ASP.NET Core 2.1 and later use the Microsoft.AspNetCore.App metapackage rather than this package. Consultez Migration de Microsoft.AspNetCore.All vers Microsoft.AspNetCore.App dans cet article.See Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App in this article.

Cette fonctionnalité nécessite ASP.NET Core 2.x ciblant .NET Core 2.x.This feature requires ASP.NET Core 2.x targeting .NET Core 2.x.

Microsoft.AspNetCore.All est un métapaquet qui fait référence à un framework partagé.Microsoft.AspNetCore.All is a metapackage that refers to a shared framework. Un framework partagé est un ensemble d’assemblys (fichiers .dll) qui ne sont pas dans les dossiers de l’application.A shared framework is a set of assemblies (.dll files) that are not in the app's folders. Le framework partagé doit être installé sur l’ordinateur pour exécuter l’application.The shared framework must be installed on the machine to run the app. Pour plus d’informations, consultez Le framework partagé.For more information, see The shared framework.

Le framework partagé auquel Microsoft.AspNetCore.All fait référence inclut :The shared framework that Microsoft.AspNetCore.All refers to includes:

  • Tous les packages pris en charge par l’équipe ASP.NET Core.All supported packages by the ASP.NET Core team.
  • Tous les packages pris en charge par Entity Framework Core.All supported packages by the Entity Framework Core.
  • Les dépendances internes et tierces utilisées par ASP.NET Core et Entity Framework Core.Internal and 3rd-party dependencies used by ASP.NET Core and Entity Framework Core.

Toutes les fonctionnalités d’ASP.NET Core 2.x et d’Entity Framework Core 2.x sont incluses dans le package Microsoft.AspNetCore.All.All the features of ASP.NET Core 2.x and Entity Framework Core 2.x are included in the Microsoft.AspNetCore.All package. Les modèles de projet par défaut ciblant ASP.NET Core 2.0 utilisent ce package.The default project templates targeting ASP.NET Core 2.0 use this package.

Le numéro de version du métapaquet Microsoft.AspNetCore.All représente la version minimale d’ASP.NET Core et la version d’Entity Framework Core.The version number of the Microsoft.AspNetCore.All metapackage represents the minimum ASP.NET Core version and Entity Framework Core version.

Le fichier .csproj suivant fait référence au métapackage Microsoft.AspNetCore.All pour ASP.NET Core :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>

Gestion des versions implicitesImplicit versioning

Dans ASP.NET Core 2.1 ou ultérieur, vous pouvez spécifier la référence de package Microsoft.AspNetCore.All sans version.In ASP.NET Core 2.1 or later, you can specify the Microsoft.AspNetCore.All package reference without a version. Lorsque la version n’est pas spécifiée, une version implicite est spécifiée par le SDK (Microsoft.NET.Sdk.Web).When the version isn't specified, an implicit version is specified by the SDK (Microsoft.NET.Sdk.Web). Nous vous recommandons de garder la version implicite spécifiée par le kit SDK et de ne pas définir de façon explicite le numéro de version sur la référence de package.We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. Si vous avez des questions au sujet de cette approche, envoyez vos commentaires GitHub dans la Discussion concernant la version implicite de Microsoft.AspNetCore.App.If you have questions about this approach, leave a GitHub comment at the Discussion for the Microsoft.AspNetCore.App implicit version.

La version implicite est définie sur major.minor.0 pour les applications portables.The implicit version is set to major.minor.0 for portable apps. Le mécanisme de restauration par progression des frameworks partagés exécute l’application sur la dernière version compatible parmi les frameworks partagés installés.The shared framework roll-forward mechanism runs the app on the latest compatible version among the installed shared frameworks. Pour garantir l’utilisation de la même version en développement, test et production, vérifiez que la même version du framework partagé est installée dans tous les environnements.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. Pour les applications autonomes, le numéro de version implicite est défini sur le major.minor.patch du framework partagé inclus dans le SDK installé.For self-contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

La spécification d’un numéro de version sur la référence de package Microsoft.AspNetCore.All ne garantit pas que la version du framework partagé sera choisie.Specifying a version number on the Microsoft.AspNetCore.All package reference does not guarantee that version of the shared framework is chosen. Par exemple, supposons que la version « 2.1.1 » est spécifiée, mais que la version « 2.1.3 » est installée.For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. Dans ce cas, l’application utilise « 2.1.3 ».In that case, the app will use "2.1.3". Même si ce n’est pas recommandé, vous pouvez désactiver la restauration par progression (correctif et/ou mineur).Although not recommended, you can disable roll forward (patch and/or minor). Pour plus d’informations sur la restauration par progression de l’hôte dotnet et sur la configuration de son comportement, consultez dotnet host roll forward.For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

Le SDK du projet doit être défini sur Microsoft.NET.Sdk.Web dans le fichier projet pour utiliser la version implicite de Microsoft.AspNetCore.All.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. Lorsque le SDK Microsoft.NET.Sdk est spécifié (<Project Sdk="Microsoft.NET.Sdk"> en haut du fichier projet), l’avertissement suivant est généré :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:

Avertissement NU1604 : La dépendance de projet Microsoft.AspNetCore.All ne contient pas de limite inférieure incluse. Incluez une limite inférieure dans la version de dépendance pour assurer des résultats de restauration cohérents.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.

C’est un problème connu avec le kit SDK .NET Core 2.1 ; il sera corrigé dans le kit SDK .NET Core 2.2.This is a known issue with the .NET Core 2.1 SDK and will be fixed in the .NET Core 2.2 SDK.

Migration de Microsoft.AspNetCore.All vers Microsoft.AspNetCore.AppMigrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App

Les packages suivants sont inclus dans Microsoft.AspNetCore.All mais pas le package 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

Pour passer de Microsoft.AspNetCore.All à Microsoft.AspNetCore.App, si votre application utilise les API des packages ci-dessus, ou les packages apportés par ces packages, ajoutez des références à ces packages dans votre projet.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.

Toutes les dépendances des packages précédents qui ne sont pas des dépendances de Microsoft.AspNetCore.App ne sont pas incluses de manière implicite.Any dependencies of the preceding packages that otherwise aren't dependencies of Microsoft.AspNetCore.App are not included implicitly. Par exemple :For example:

  • StackExchange.Redis comme dépendance de Microsoft.Extensions.Caching.RedisStackExchange.Redis as a dependency of Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights comme dépendance de Microsoft.AspNetCore.ApplicationInsights.HostingStartupMicrosoft.ApplicationInsights as a dependency of Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Mettre à jour ASP.NET Core 2.1Update ASP.NET Core 2.1

Nous vous recommandons de migrer vers le métapackage Microsoft.AspNetCore.App pour 2.1 et versions ultérieures.We recommend migrating to the Microsoft.AspNetCore.App metapackage for 2.1 and later. Pour continuer à utiliser le métapackage Microsoft.AspNetCore.All et vérifier que la dernière version corrective est déployée :To keep using the Microsoft.AspNetCore.All metapackage and ensure the latest patch version is deployed:

  • Sur les ordinateurs de développement et les serveurs de builds : Installez le dernier kit SDK .NET Core.On development machines and build servers: Install the latest .NET Core SDK.
  • Sur les serveurs de déploiement : Installez le dernier runtime .NET Core.On deployment servers: Install the latest .NET Core runtime. Votre application est restaurée par progression jusqu’à la version installée la plus récente au moment de son redémarrage.Your app will roll forward to the latest installed version on an application restart.