54 votes

Mise à jour de Microsoft.AspNetCore.App 2.1.1 "Bloqué par le projet".

J'essaie de mettre à niveau un projet .net core 2.1 vers la dernière version des paquets Nuget tels que Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.

Cependant, cela est bloqué par le paquet de référence Microsoft.NETCore.App, lorsque j'essaie de mettre à niveau le "méta" paquet Microsoft.NETCore.App je vois "Bloqué par le projet" similaire à cette question . Cela a été résolu en passant à la version la plus récente du SDK, mais ce n'est pas une option ici... parce qu'il n'y a pas (encore ?) de version plus récente du SDK.

J'ai aussi vu cette réponse pour mettre à jour des paquets spécifiques en modifiant manuellement le fichier .csproj avec une référence de paquet de mise à jour, mais je doute que ce soit la méthode prévue pour le faire.

Comment devrait Comment dois-je procéder ? Pour l'instant, j'ai simplement inclus manuellement les références des paquets que j'utilise réellement et j'ai laissé tomber le métapaquet, mais je ne pense pas que ce soit la bonne façon de procéder.

1 votes

2 votes

Pertinent : twitter.com/DamianEdwards/status/1009137684898435073 L'ensemble du blocage par le projet est à dessein. Les paquets Asp.NET ont besoin du SDK correspondant pour fonctionner correctement. Les mettre à jour d'office n'est pas une option.

0 votes

Avant de faire cela, vous pourriez vouloir lire les informations dans ce > github.com/aspnet/AspNetCore/issues/9097#issuecomment-517922943

42voto

Nicholas Points 705

Facile. Je cherchais une résolution pour cela plus tôt et tout ce que j'avais à faire était de l'ajouter dans les projets concernés.

  <PropertyGroup>
    <RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
  </PropertyGroup>

En outre, pour .NET Core 3 et au-delà,

   <PropertyGroup>
     <TargetFramework>netcoreapp3.1</TargetFramework>
   </PropertyGroup>

Il y a aussi une réponse postée par Patrick ci-dessous soulignant que certains projets nécessitent le paquet NuGet .NET Core App. Vous n'en aurez plus besoin après .NET Core 3.

2 votes

Cela a fonctionné pour moi, mais j'ai remarqué que lorsque vous créez un nouveau projet, il ne contient pas le code de configuration mentionné. Ainsi, il fait toujours référence à la bibliothèque 2.1.0 au lieu de 2.1.1. S'agit-il d'un bug dans Visual Studio, car il doit cibler le dernier SDK installé ?

0 votes

@Megrez7 Je suis actuellement confronté à ce problème Je vous ferai un rapport si j'ai une confirmation.

0 votes

J'ai installé le SDK 2.1.302 et bien que cela " force " les paquets à la version spécifiée, cela me semble être un bug car les projets devraient cibler la version du SDK installé (comme il est dit dans NuGet ! ?!) mais ce n'est clairement pas le cas.

31voto

Patrick Points 316

Dans mon cas, cela a été causé par l'absence de Version l'attribut Microsoft.AspNetCore.App .

Pour une raison quelconque, lorsque le projet WebApi a été créé, le paquet a été référencé comme ceci :

<PackageReference Include="Microsoft.AspNetCore.App" />

L'ajout de l'attribut manquant a résolu tous les problèmes avec les mises à jour et les constructions sur le serveur de construction.

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />

2 votes

Je ne suis pas sûr que ce soit le correct solution. Apparemment, vous pouvez éviter de définir la version et simplement installer la dernière version du SDK : stackoverflow.com/a/50977058/161640

0 votes

@Isaac J'ai essayé différentes solutions, y compris l'installation manuelle des SDK et des Runtimes, mais rien n'a vraiment fonctionné, sauf la définition d'une version explicite d'AspNetCore.App. Notez qu'il s'agit d'AspNetCore et non de NetCore. Il se peut aussi que ce soit dû à l'outillage - VS 2017 a eu quelques mises à jour depuis.

8voto

Leniel Macaferi Points 38324

J'avais seulement Microsoft.NETCore.App 2.1.1 installé et ne pouvait pas mettre à jour vers Microsoft.NETCore.App 2.1.2 sur Manage NuGet Packages... car elle affichait "Bloqué par le projet" :

enter image description here

Dans l'image ci-dessus, il est indiqué que je suis déjà sur la dernière version car j'ai fait ce qui suit...

1 - télécharger la dernière version (v2.1.302 à ce jour) de SDK .NET Core 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 afficher 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>

0 votes

Ceci est la première partie, la deuxième partie est d'ajouter la Version dans le fichier csproj.

0 votes

Et n'oubliez pas que la version de bootstrap en .net 2.1 est 3.7 et que la version de bootstrap en .net 2.2 est 4.3.

7voto

TadGhostal Points 121

J'ai pu modifier mon fichier .csproj et ajouter la ligne suivante :

<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />

0 votes

Cela fait des heures que je me bats contre le fait que la version 2.1 ne soit pas disponible pour un nouveau projet. J'ai décidé d'essayer d'utiliser cette méthode. Pas de chance. Voici l'erreur : Un PackageReference pour 'Microsoft.NETCore.App' a été inclus dans votre projet. Ce paquet est implicitement référencé par le SDK .NET et vous n'avez généralement pas besoin de le référencer dans votre projet. Pour plus d'informations, voir aka.ms/sdkimplicitrefs TipShare C:\Program Fichiers \dotnet\sdk\2.1.201\Sdks\Microsoft.NET.Sdk\build\Micros oft.NET.Sdk.DefaultItems.targets 198 J'ai essayé ceci.

2 votes

Assurez-vous que vous avez installé le runtime 2.1.1, en plus du SDK. Exécutez dotnet --info et vous devriez voir Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

0 votes

Si vous avez installé le runtime 2.1.1, cela fonctionne, et c'est, à ma connaissance, la seule façon de le faire fonctionner (aujourd'hui). Les gens devraient vérifier les informations avant de voter.

1voto

Ken Points 21

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 fixe la version d'Aspnetcore.App à 2.1 alors que la dernière version du SDK est installée. Si l'on tente de modifier la version via le gestionnaire NuGet, le message "project blocked" est affiché.

Résolution : Ajoutez Version="2.1" à la référence dans CSPROJ comme ceci :

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />

Après la sauvegarde/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 la sauvegarde du fichier CSProj devraient déclencher la mise à niveau/restauration automatiquement.

Merci @Patrick

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X