Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 10 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 10 de cet article.
Remarque
Le Microsoft.AspNetCore.All métapackage n’est pas utilisé dans ASP.NET Core 3.0 ou version ultérieure. Pour plus d’informations, consultez ce problème GitHub.
Remarque
Nous recommandons aux applications ciblant ASP.NET Core 2.1 ou version ultérieure d’utiliser le métapackage Microsoft.AspNetCore.App plutôt que ce package. Consultez Migration de Microsoft.AspNetCore.All vers Microsoft.AspNetCore.App dans cet article.
Cette fonctionnalité nécessite ASP.NET Core 2.x ciblant .NET Core 2.x.
Microsoft.AspNetCore.All est un métapaquet qui fait référence à un framework partagé. Un framework partagé est un ensemble d’assemblys (fichiers.dll) qui ne sont pas dans les dossiers de l’application. Le framework partagé doit être installé sur l’ordinateur pour exécuter l’application. Pour plus d’informations, consultez Le framework partagé.
Le framework partagé auquel Microsoft.AspNetCore.All fait référence inclut :
- Tous les packages pris en charge par l’équipe ASP.NET Core.
- Tous les packages pris en charge par Entity Framework Core.
- Les dépendances internes et tierces utilisées par ASP.NET Core et 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. Les modèles de projet par défaut ciblant ASP.NET Core 2.0 utilisent ce 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.
Le fichier .csproj suivant fait référence au métapaquet Microsoft.AspNetCore.All pour 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 implicites
Dans ASP.NET Core 2.1 ou ultérieur, vous pouvez spécifier la référence de package Microsoft.AspNetCore.All sans version. Lorsque la version n’est pas spécifiée, une version implicite est spécifiée par le 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. 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.
La version implicite est définie sur major.minor.0 pour les applications portables. 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. 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. 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é.
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. Par exemple, supposons que la version « 2.1.1 » est spécifiée, mais que la version « 2.1.3 » est installée. Dans ce cas, l’application utilise « 2.1.3 ». Même si ce n’est pas recommandé, vous pouvez désactiver la restauration par progression (correctif et/ou mineur). 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.
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. 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é :
Avertissement NU1604 : La dépendance du projet Microsoft.AspNetCore.All ne contient pas de limite inférieure inclusive. Incluez une limite inférieure dans la version de dépendance pour assurer des résultats de restauration cohérents.
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.
Migration de Microsoft.AspNetCore.All vers Microsoft.AspNetCore.App
Les packages suivants sont inclus dans Microsoft.AspNetCore.All mais pas le package Microsoft.AspNetCore.App.
Microsoft.AspNetCore.ApplicationInsights.HostingStartupMicrosoft.AspNetCore.AzureAppServices.HostingStartupMicrosoft.AspNetCore.AzureAppServicesIntegrationMicrosoft.AspNetCore.DataProtection.AzureKeyVaultMicrosoft.AspNetCore.DataProtection.AzureStorageMicrosoft.AspNetCore.Server.Kestrel.Transport.LibuvMicrosoft.AspNetCore.SignalR.RedisMicrosoft.Data.SqliteMicrosoft.Data.Sqlite.CoreMicrosoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.Sqlite.CoreMicrosoft.Extensions.Caching.RedisMicrosoft.Extensions.Configuration.AzureKeyVaultMicrosoft.Extensions.Logging.AzureAppServicesMicrosoft.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.
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. Par exemple :
-
StackExchange.Rediscomme dépendance deMicrosoft.Extensions.Caching.Redis -
Microsoft.ApplicationInsightscomme dépendance deMicrosoft.AspNetCore.ApplicationInsights.HostingStartup
Mettre à jour ASP.NET Core 2.1
Nous vous recommandons de migrer vers le Microsoft.AspNetCore.App métapackage pour la version 2.1 ou ultérieure. Pour continuer à utiliser le métapackage Microsoft.AspNetCore.All et vérifier que la dernière version corrective est déployée :
- Sur les machines de développement et les serveurs de builds, installez le kit SDK .NET Core le plus récent.
- Sur les serveurs de déploiement, installez le Runtime .NET Core le plus récent. Votre application est restaurée par progression jusqu’à la version installée la plus récente au moment de son redémarrage.