Microsoft.AspNetCore.Application 2.1.1 mise à niveau “Bloqué par projet”
Je suis en train de mettre à niveau un .net de base 2.1 projet à la dernière version des packages Nuget tels que Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
Cependant celle-ci est bloquée par le package de référence de Microsoft.NETCore.App, quand j'essaie de mettre à jour le "méta" package Microsoft.NETCore.App je vois "Bloqué par projet" semblable à cette question. Qui a été résolu par le passage à la nouvelle version du SDK, cependant, ce n'est pas une option ici... car il n'y a pas une nouvelle version du SDK (encore?).
J'ai aussi vu cette réponse à la mise à niveau des paquets spécifiques en modifiant le .csproj fichier manuellement avec un package de mise à Jour de référence, mais je doute que c'est la methode de le faire.
Comment devrait je aller à ce sujet? Pour l'instant j'ai juste manuellement inclus le paquet de références que j'ai réellement utiliser et abandonné la méta-paquet, mais je ne peux pas imaginer que de la manière prévue à ce sujet.
- Double Possible de Netcore 2.1.1 libération conduit à l'application à défaut de courir
- Pertinentes: twitter.com/DamianEdwards/status/1009137684898435073 l'ensemble de La bloqué par projet est par la conception. Asp.NET les paquets ont besoin de la correspondance de SDK pour s'exécuter correctement. La mise à jour de leur oob n'est pas une option.
- Avant de faire cela, Vous voudrez peut-être lire les informations dans le présent > github.com/aspnet/AspNetCore/issues/9097#issuecomment-517922943
- ... Et de l'article 4 de docs.microsoft.com/en-us/nuget/consume-packages/... (Pour certains paquets, la mise à Jour bouton est désactivé et un message s'affiche disant qu'il est "Implicitement référencé par un SDK" (ou "AutoReferenced"). Ce message indique que le paquet fait partie d'un cadre plus large ou SDK et ne doit pas être mis à jour indépendamment... Cela s'applique à la suivante couramment utilisé des paquets: Microsoft.AspNetCore.Tous Microsoft.AspNetCore.App De Microsoft.NETCore.App NETStandard.De la bibliothèque)
- Vos commentaires peuvent être utiles, mais vous voudrez peut-être lire la date à laquelle il a été posté à l'adresse. Surtout l'année bits 😉
Vous devez vous connecter pour publier un commentaire.
Facile. A la recherche d'une résolution de cette plus tôt et j'ai tout ce que j'avais à faire était juste ajouter ceci dans les projets concernés.
Dans mon cas, c'était à cause du manque de
Version
attribut surMicrosoft.AspNetCore.App
.Pour une raison quelconque, quand le WebApi projet a été créé le package a été référencé comme ceci:
L'ajout de l'attribut manquant résolu tous les problèmes avec les mises à jour et s'appuie sur le serveur de build.
J'avais seulement
Microsoft.NETCore.App 2.1.1
installé, et ne pouvait pas mettre à jour pourMicrosoft.NETCore.App 2.1.2
dansManage NuGet Packages...
fenêtre parce qu'il a montré "Bloqué par projet":Dans l'image ci-dessus, il montre que je suis sur la dernière version déjà parce que je n'ai la suite...
1 - télécharger la dernière version (v2.1.302 dès à présent) de .NET SDK de Base ici:
https://www.microsoft.com/net/download
2 - installer et exécuter la commande suivante dans Visual Studio
Package Manager Console
ou dans Windows PowerShell. Il doit indiquer les éléments suivants:Édition de mon .csproj fichier et l'ajout de la ligne suivante a fonctionné pour moi:
dotnet --info
et vous devriez voirMicrosoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Version
n'est pas recommandée par microsoft. Voir IciDans mon cas, @Patrick réponse est correcte. Au moins pour VS 2017 (15.8.9) avec SDK fichier "dotnet-sdk-2.1.403-win-x64.exe" installé.
Symptômes: la Création d'un nouveau projet Web définit la Aspnetcore.App version 2.1 même si le dernier SDK est installé. La tentative de modification de la version via NuGet Gestionnaire répond avec le projet "bloqué".
Résolution: Ajouter Version="2.1" à la référence dans CSPROJ comme ceci:
Après l'enregistrement/la réouverture de la NuGet manager permettra de sélectionner d'autres versions du SDK. Notez que l'ajout Version="2.1.5" directement puis enregistrez le fichier CSProj doit déclencher la mise à niveau/restaurer automatiquement.
Merci @Patrick
Pour moi, j'ai eu la ligne suivante à deux reprises dans le fichier csproj
Il suffit de retirer le double résolu le problème
Cela permettra de résoudre le problème de l'auto, sinon vous pouvez aller à Nuget et de mise à niveau assemblées par vous-même.
Comme @Simon_Weaver dit ce qui se passe quand aucune version n'est spécifiée et 2.1.301 le SDK n'est pas présent dans un système de