web-dev-qa-db-fra.com

Que signifient les triangles d'avertissement jaunes sur les dépendances dans Visual Studio 2017?

Je viens de convertir ma bibliothèque PCL en une nouvelle bibliothèque .Net Standard et j'ai des triangles d'avertissement jaunes sur mes dépendances illustrées ci-dessous:

 enter image description here

Au cours de la conversion, tous les paquets de nugets ont été importés, y compris les dépendances, de sorte que le problème puisse être résolu.

Comment savoir ce que représentent les triangles d'avertissement jaunes?

MODIFIER

Construire des journaux:

Pour empêcher NuGet de restaurer des packages pendant la construction, ouvrez le fichier Visual Dans la boîte de dialogue Options Studio, cliquez sur le nœud Gestionnaire de packages et décochez la case 'Autoriser NuGet à télécharger les packages manquants lors de la construction.' NU1605: Déclassement de paquet détecté: NUnit de 3.8.1 à 2.6.4. Référence le package directement à partir du projet pour sélectionner une version différente.
MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1)
MyProj.UI.Tests -> NUnit (> = 2.6.4) NU1605: Paquet détecté déclassement: NUnit de 3.8.1 à 2.6.4. Référencez directement le package à partir du projet pour sélectionner une version différente. MyProj.UI.Tests.iOS -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> 3.8.1) MyProj.UI.Tests.iOS -> NUnit (> = 2.6.4) NU1605: Package détecté déclassement: NUnit de 3.8.1 à 2.6.4. Référencez directement le package à partir du projet pour sélectionner une version différente.
MyProj.UI.Tests.Android -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1) MyProj.UI.Tests.Android -> NUnit (> = 2.6.4)

10
user1

Dans le journal de construction, j'ai remarqué ceci:

C:\Programme Fichiers\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.DefaultItems.targets (199,5): avertissement: Un PackageReference pour 'NETStandard.Library' était inclus dans votre projet. Ce package est implicitement référencé par le Kit de développement .NET SDK et vous n'avez généralement pas besoin de le référencer à partir de votre projet. Pour Pour plus d'informations, voir https://aka.ms/sdkimplicitrefs } _

Je suis donc allé désinstaller tous les paquets qui étaient répertoriés comme dépendances pour le .Net Standardnuget énuméré ici:

.NETStandard 1.1

  • Microsoft.NETCore.Platforms (> = 1.1.0)

  • System.Collections (> = 4.3.0)

  • System.Collections.Concurrent (> = 4.3.0)

  • System.Diagnostics.Debug (> => 4.3.0)

  • System.Diagnostics.Tools (> = 4.3.0)

  • System.Diagnostics.Tracing (> = 4.3.0) 

  • System.Globalization (> = 4.3.0)

  • System.IO (> = 4.3.0)

  • Compression System.IO. (> = 4.3.0)

  • System.Linq (> = 4.3.0)

  • System.Linq.Expressions (> = 4.3.0)

  • System.Net.Http (> = 4.3.2)

  • System.Net.Primitives (> = 4.3.0)

  • System.ObjectModel (> = 4.3.0)

  • System.Reflection (> = 4.3.0)

  • System.Reflection.Extensions (> = 4.3.0)

  • System.Reflection.Primitives (> = 4.3.0)

  • System.Resources.ResourceManager (> = 4.3.0)

  • System.Runtime (> = 4.3.0)

  • System.Runtime.Extensions (> = 4.3.0)

  • System.Runtime.InteropServices (> = 4.3.0)

  • System.Runtime.InteropServices.RuntimeInformation (> => 4.3.0) 

  • System.Runtime.Numerics (> = 4.3.0)

  • System.Text.Encoding (> = 4.3.0)

  • System.Text.Encoding.Extensions (> = 4.3.0)

  • System.Text.RegularExpressions (> = 4.3.0)

  • System.Threading (> = 4.3.0)

  • System.Threading.Tasks (> = 4.3.0)

  • System.Xml.ReaderWriter (> = 4.3.0)

  • System.Xml.XDocument (> = 4.3.0)

Et les avertissements jaunes ont disparu.

De là: https://blogs.msdn.Microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/

J'ai également constaté que vous pouvez utiliser la propriété NoWarn comme ci-dessous:

<ItemGroup>
  <PackageReference Include="Huitian.PowerCollections" Version="1.0.0" NoWarn="NU1701" />
</ItemGroup>
3
user1

exécutez dotnet restore avant toute manipulation compliquée, vous obtiendrez beaucoup plus d'informations que dans la fenêtre d'erreur ou l'explorateur de solutions.

Vous pouvez exécuter cette commande dans la console du gestionnaire de packages:

Outils> Gestionnaire de paquets NuGet> Console du gestionnaire de paquets

4
AlexandreG

il suffit de télécharger et installer IIS Express

0
developer

Le triangle jaune signifie que le ou les fichiers physiques du paquet ont disparu et ne sont plus disponibles sur le disque dur.

 enter image description here

Si le problème manque à quelques packages, vous pouvez modifier le fichier packages.config et supprimer ces packages du packages.config, puis réinstaller les packages manquants via le gestionnaire de packages nuget.

Mais si le problème manque plus que quelques paquets, le moyen le plus rapide et le plus rapide que j'utilise pour récupérer les paquets manquants est le suivant:

  1. Ouverture d'une nouvelle instance de Visual Studio
  2. Créez une nouvelle solution de projet avec le même type de projet, comme celui avec les packages manquants (Exemple: ASP.Net MVC avec un compte d'utilisateur individuel).
  3. Mettez à jour les derniers packages du nouveau projet afin qu'ils correspondent aux versions de packages de la solution de projet précédente.
  4. Ouvrez l'explorateur de fichiers et accédez au dossier des packages dans la nouvelle solution que vous avez créée.
  5. Copiez tout le contenu du dossier Packages en sélectionnant tout, Note NE copiez PAS le dossier Packages lui-même, mais uniquement le contenu du dossier.
  6. Collez-le dans votre solution précédente (solution avec les packages manquants), dans le dossier Packages avec écrasement des éléments existants.
  7. Accédez à votre dossier de packages dans l'explorateur de solutions et développez-le, puis cliquez sur le bouton d'actualisation pour voir que de nombreux packages manquants s'affichent maintenant sans triangle jaune.
  8. Enfin, vous allez vous retrouver avec quelques paquetages manquants, qui ne sont pas inclus par défaut lorsque vous créez une nouvelle solution, vous devez les supprimer de votre fichier packages.config (le fichier que les gestionnaires de paquets Nuget) lit pour déterminer les packages installés installez-les comme neufs à l'aide du gestionnaire de paquets Nuget.

Remarque De tels problèmes liés aux fichiers manquants dans les projets sont toujours difficiles à résoudre et dépendent de l'expérience du développeur. Ne vous attendez donc pas à une solution facile pour celui-ci.

Sur la cause de l'erreur, Microsoft dit que c'est un bogue, mais cela peut arriver sur n'importe quelle version de Visual Studio.

0
Ashraf Abusada