J'essaie de mettre à jour ma solution .net de .NET Core 1.1 à .NET Core 2.1. J'ai plusieurs projets standard .NET Core et .NET à l'intérieur, qui se référent les uns aux autres et à un autre package NuGet. Après la mise à jour, les commandes 'dotnet resore' et 'dotnet build' fonctionnent bien, mais lorsque j'essaie de créer ma solution à partir de visual studio, j'obtiens cette erreur:
Erreur NU1605 Rétrogradation de package détecté: Microsoft.NETCore.App de 2.1.3 à 2.1.0. Référencez le package directement à partir du projet pour sélectionner une version différente.
Et je constate qu’en effet, certains de mes projets ont une référence SDK à Microsoft.NETCore.App v2.1.0 et d’autres v.2.1.3. La définition de RuntimeFrameworkVersion et l'ajout explicite de ce package aux dépendances ne fonctionnent pas.
Comment je peux gérer ça?
UPD: Dotnet --info:
.NET Core SDK (reflecting any global.json): Version: 2.1.401 Commit: 91b1c13032
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.401\
Host (useful for support): Version: 2.1.3 Commit: 124038c13e
.NET Core SDKs installed:
1.1.10 [C:\Program Files\dotnet\sdk]
2.0.0 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.100 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.400 [C:\Program Files\dotnet\sdk]
2.1.401 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App
1.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 1.1.9 [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.5 [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.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App
2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download
UPD: En quelque sorte, le problème disparaît si je supprime cette ligne du fichier .csproj:
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
Peut-il être lié?
J'ai eu un problème similaire à vous. Impossible de publier mon projet lorsque j'ai spécifié un identificateur d'exécution.
La solution que j’ai eu à travailler a été d’ajouter la ligne suivante au * .csproj
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
Une fois cette ligne ajoutée, le projet serait publié correctement.
Le lien ci-dessous fait référence à un problème de rétrogradation entre 2.1.1 et 2.1.0 mais la solution a fonctionné de la même manière.
Après la mise à jour du SDK .net core sur ma machine Windows, de .net core 2.1.0 à .net core 2.2.0, je rencontrais le même problème. J'ai été incapable de construire le projet et j'ai eu une erreur de construction avec la mise à niveau inférieure du paquet détecté: Microsoft.AspNetCore.Razor.Design 2.2.0 à 2.1.0
J'ai résolu ce problème en mettant à jour un package de pépites pour Microsoft.AspNetCore.Razor.Design
J'ai eu ce problème aussi. Ce qui a finalement été résolu pour moi, c’est la désinstallation du .NET SDK 2.1.3 à partir du panneau de configuration "Programmes". Sinon, je devais essentiellement désinstaller toute version ultérieure des bibliothèques SDK associées que mon projet tentait d'utiliser.