web-dev-qa-db-fra.com

Erreur Visual Studio 2017: impossible de trouver les informations de projet pour "" Cela peut indiquer une référence de projet manquante

Je viens d'installer Visual Studio 2017 (version complète) à partir du site Web MSDN. Création d'une nouvelle application Web Asp.Net Core (.Net Framework) avec .net framework 4.6 sélectionné. Nom du projet = "WebApplicationWithTemplate"

Ajout d'un autre projet de type Bibliothèque de classes (.Net Standard) à nouveau avec .net framework 4.6 sélectionné. Nom du projet = "DataAccessRegular"

Next a essayé d’ajouter la référence du projet de bibliothèque de classes à l’application Web Asp.Net Core et j’obtiens cette erreur:

 enter image description here

Impossible de trouver les informations sur le projet pour 'E:\Development\VS2017Solution\DataAccessRegular\DataAccessRegular.csproj'. Ceci peut indiquer une référence de projet manquante. WebApplicationWithTemplate C:\Fichiers de programme (x86)\Microsoft Visual Studio\2017\Entreprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.targets 92 

Également créé un projet de bibliothèque de classes (noyau .net) [non représenté dans la capture d'écran ci-dessus] et ajouté sa référence au projet principal asp.net et obtenant toujours la même erreur.

Lisez aussi Ce lien sur github mais je ne l’ai pas trouvé utile malheureusement.

Le problème est que je souhaite conserver les couches modèle, service et accès aux données dans un projet séparé.

15
Yawar Murtaza

Pour résoudre ce problème, dans votre csproj pour la bibliothèque de classes, remplacez <TargetFramework>netstandard1.4</TargetFramework> par <TargetFramework>net46</TargetFramework> ou <TargetFrameworks>netstandard1.4;net46</TargetFrameworks>.

Notez que si vous spécifiez plusieurs cibles, l'élément doit être remplacé par un pluriel TargetFrameworks, et non par TargetFramework ( Génère des erreurs lors du ciblage multiple dans le fichier csproj

Ce que vous voyez provient du modèle Class Library (.NET Standard) qui cible réellement .NET Standard (netstandard1.4 spécifiquement) plutôt que la sélection dans la liste déroulante de l'infrastructure cible. Utiliser le modèle Class Library (.NET Framework) à la place fonctionnerait également.

Mettre à jour:

Options additionelles:

  • Changez l'application Web en .NET Framework 4.6.1 cible (cela permettra de référencer les éléments qui ciblent netstandard1.4
  • Changez la bibliothèque de classes en target netstandard1.3 (cela lui permettra d'être référencé à partir de projets ciblant .NET Framework 4.6)

Nous cherchons également à améliorer la manière dont ces problèmes sont abordés avec https://github.com/dotnet/sdk/issues/829 et https://github.com/dotnet/roslyn-project- système/issues/1470

10
mlorbetske

J'ai eu ce problème après avoir retiré un package de pépites (que j'avais moi-même construit) d'une solution, puis l'avoir remplacé par une référence de projet au projet à partir duquel le package a été construit. La solution au problème ...? Fermez VS et rouvrez-le.

16
James Ellis-Jones

J'ai résolu ce problème en corrigeant mon erreur selon laquelle la référence avait été ajoutée à la fois en tant que référence de projet ET en tant que référence de navigation.

L’Assemblée a donc été référencée deux fois - directement en tant qu’Assemblée - et indirectement en tant que résultat d’un projet inclus.

Lorsque j'ai supprimé la référence de navigation et que je n'ai gardé que la référence du projet, cela a été clarifié.

12
Hans Karlsen

Le chemin du projet référencé stocké dans .csproj est sensible à la casse! Alors, soyez conscient et vérifiez si vous avez le bon chemin dans le cas correct! Pour faire ça:

  1. Clic droit sur le projet
  2. sélectionnez Modifier 
  3. Vérifier <ProjectReference Include=<Path>

REMARQUE (KDuenke): Cela peut également être un problème sur un ordinateur Windows, surtout si vous utilisez Docker pour Windows.

4
Ivan Yuriev

Si vous avez référencé la dll par erreur et que vous avez référencé le projet.__, vous verrez que le nœud Références/Assemblages de la solution Explorer contient également .dll. Vous pouvez également consulter les projets référencés et voir le même projet nommé. Supprimez le .dll contient des assemblys si vous avez besoin du projet référencé ou supprimez le projet si vous avez seulement besoin d'une référence à la contient .dll.

Dans mon cas, je viens de supprimer l’Assemblée de la liste Référence/Assemblées.

1
jwize

J'ai le même problème et supprimer la classe de référence des assemblys et résoudre ce problème,

0
Milad Jafari

Si vous avez ajouté la référence de dll à Assembly et comme référence de projet également dans les dépendances, vous serez confronté à ce problème (une des nombreuses raisons possibles)

Il vous suffit de supprimer la référence de la section Assembly des dépendances.

Vérifiez ci-dessous: Exemple

0
Arjit Sharma

Vous avez également rencontré ce problème lorsque vous avez renommé un projet et le dossier (avec le fichier .csproj). J'ai fait un dotnet restore sur les deux projets en me donnant cette erreur (qui faisait référence au projet avant de renommer et après avoir ajouté une référence au "nouveau" projet renommé), puis à la solution construite.

0
cr4ne