J'essaie de mettre à niveau un projet .net core 2.1 vers la dernière version de packages Nuget tels que Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
Cependant, ceci est bloqué par la référence de package Microsoft.NETCore.App. Lorsque je tente de mettre à niveau le package "méta" Microsoft.NETCore.App, je vois "Bloqué par projet" similaire à cette question . Ce problème a été résolu en passant à la version la plus récente du SDK. Cependant, ce n'est pas une option ici ... car il n'y a pas encore de version plus récente du SDK (??).
J'ai également vu cette réponse mettre à niveau des packages spécifiques en modifiant le fichier .csproj manuellement avec une référence de package de mise à jour, mais je doute que ce soit la méthode envisagée.
Comment devrait je m'occupe de cela? Pour le moment, je viens d'inclure manuellement les références de paquets que j'utilise réellement et de supprimer le méta-paquet, mais je ne peux pas imaginer que ce soit la manière prévue de procéder.
Facile. Je cherchais une solution pour cela plus tôt et tout ce que je devais faire était d’ajouter cela aux projets concernés.
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
</PropertyGroup>
Dans mon cas, cela est dû à l'absence de l'attribut Version
sur Microsoft.AspNetCore.App
.
Pour une raison quelconque, lorsque le projet WebApi a été créé, le package a été référencé comme suit:
<PackageReference Include="Microsoft.AspNetCore.App" />
L'ajout de l'attribut manquant a résolu tous les problèmes liés aux mises à jour et aux générations sur le serveur de génération.
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
Je n'avais que Microsoft.NETCore.App 2.1.1
installé et je ne pouvais pas mettre à jour Microsoft.NETCore.App 2.1.2
dans la fenêtre Manage NuGet Packages...
car il affichait "Bloqué par projet":
Dans l'image ci-dessus, cela montre que je suis déjà sur la dernière version parce que j'ai fait ce qui suit ...
1 - téléchargez la dernière version (v2.1.302 à ce jour) de . NET Core SDK ici:
https://www.Microsoft.com/net/download
2 - installez-le et exécutez la commande suivante dans Visual Studio Package Manager Console
ou dans Windows PowerShell. Il devrait montrer ce qui suit:
PM> dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.1.302
Commit: 9048955601
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17134
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.302\
Host (useful for support):
Version: 2.1.2
Commit: 811c3ce6c0
.NET Core SDKs installed:
1.0.0-rc4-004771 [C:\Program Files\dotnet\sdk]
1.0.0 [C:\Program Files\dotnet\sdk]
1.0.3 [C:\Program Files\dotnet\sdk]
1.0.4 [C:\Program Files\dotnet\sdk]
1.1.0 [C:\Program Files\dotnet\sdk]
2.0.2 [C:\Program Files\dotnet\sdk]
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.100 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
2.1.105 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.1.201 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.300-preview2-008533 [C:\Program Files\dotnet\sdk]
2.1.300-rc1-008673 [C:\Program Files\dotnet\sdk]
2.1.300 [C:\Program Files\dotnet\sdk]
2.1.301 [C:\Program Files\dotnet\sdk]
2.1.302 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-preview2-26406-04 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0-rc1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
PM>
Editer mon fichier .csproj et ajouter la ligne suivante a fonctionné pour moi:
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />
Dans mon cas, la réponse de @ Patrick est correcte. Au moins pour VS 2017 (15.8.9) avec le fichier SDK "dotnet-sdk-2.1.403-win-x64.exe" installé.
Symptômes: La création d'un nouveau projet Web définit la version Aspnetcore.App sur 2.1 même si le dernier SDK est installé. Toute tentative de modification de la version via le gestionnaire NuGet répond par "projet bloqué".
Resolution: Ajoutez Version = "2.1" à la référence dans CSPROJ comme ceci:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />
Après l'enregistrement/la réouverture, le gestionnaire NuGet permettra de sélectionner d'autres versions du SDK. Notez que l'ajout de Version = "2.1.5" directement, puis l'enregistrement du fichier CSProj doivent déclencher automatiquement la mise à niveau/la restauration.
Merci @ Patrick
Pour moi, j'ai eu la ligne suivante deux fois dans le fichier csproj
<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />
Supprimer simplement le doublon a résolu le problème