Erreur NuGet NU1105

Scénario 1

Impossible de lire les informations du projet pour « ProjectFile ». Le fichier projet peut être des cibles non valides ou manquantes requises pour la restauration.

Problème

Le fichier projet existe, mais aucune information de restauration n’a été fournie pour celle-ci. Vérifiez que vous ouvrez un projet avec le nouveau système de projet ou le système de projet hérité.

Solution

Ligne de commande

À partir de la ligne de commande, cela peut signifier que le fichier est endommagé ou que celui-ci NuGet.targets n’est pas importé. Pour importer le NuGet.targets, il est généralement recommandé d’importer le Microsoft.Common.targets. Pour restaurer des projets dans la solution à l’aide de l’interface CLI .NET , utilisez :

dotnet restore MySolution.sln

Visual Studio

Dans Visual Studio, l’erreur peut signifier que les cibles ne sont pas importées comme dans le scénario de ligne de commande.

L’erreur peut également signifier que le projet est déchargé.

  • Si vous utilisez Visual Studio 2019 ou version ultérieure, NuGet a la possibilité de réutiliser les artefacts de la restauration précédente pour les projets déchargés. Pour que ce scénario fonctionne, vous devez vous assurer que tous les projets actuellement dans la solution ont été restaurés à partir de la ligne de commande avant de les charger dans Visual Studio.

  • Vous pouvez également recharger le projet.

Scénario 2

Framework cible non valide « net.6.0 »

Problème

Le fichier projet existe, mais spécifie une infrastructure cible non valide : 'net.6.0'. Cela peut se produire en raison d’une faute de frappe ou de l’utilisation d’un format non pris en charge.

Solution

Mettez à jour le fichier projet pour utiliser une infrastructure cible valide. Dans ce cas, remplacez 'net.6.0''net6.0' par (sans le point supplémentaire). Pour obtenir la liste complète des frameworks pris en charge et de leurs formats corrects, reportez-vous à la documentation des frameworks cibles .NET .

Scénario 3

Impossible de trouver des informations sur le projet pour « ProjectFile ». Si vous utilisez Visual Studio, cela peut être dû au fait que le projet est déchargé ou ne fait pas partie de la solution actuelle afin d’exécuter une restauration à partir de la ligne de commande. Sinon, le fichier projet peut être des cibles non valides ou manquantes requises pour la restauration.

Problème

Un projet fait référence à un autre projet (par exemple, via un <ProjectReference>) qui n’est pas inclus dans la solution actuelle. NuGet ne trouve pas les informations de restauration pour le projet référencé, car elle n’est pas chargée dans le cadre de la solution.

Solution

Ligne de commande

Exécutez la restauration à partir de la ligne de commande, ciblant directement le fichier solution ou le fichier projet :

dotnet restore MySolution.sln

L’exécution de la restauration à partir de la ligne de commande fonctionne même si tous les projets ne sont pas chargés, car il lit directement les fichiers projet plutôt que de s’appuyer sur l’état de chargement de la solution.

Visual Studio

  • Ajoutez le projet manquant à la solution actuelle, puis rechargez la solution ou réexécutez la restauration.
  • Si vous excluez intentionnellement le projet de la solution, exécutez une restauration de ligne de commande pour la solution une fois avant de vous appuyer sur la restauration intégrée de Visual Studio. Visual Studio pouvez ensuite réutiliser les artefacts de restauration pour le projet exclu.