.net 2015 références avec triangle jaune pour les paquets Nuget sur les bibliothèques portables

je sais que la question a déjà été posée, mais aucune des résolutions suggérées ne fonctionne pour moi, donc je vais la poser à nouveau et j'espère obtenir de nouvelles suggestions. Certains des articles que j'ai lus:

VS. Net références avec triangle jaune Pourquoi est-ce que j'obtiens une icône d'avertissement quand j'ajoute une référence à un projet de plugin MEF? le point d'exclamation dans l'icône triangle jaune (Inside Solution Explorer)

mes 5 bibliothèques portables ciblent certainement toutes les mêmes cadres (j'ai vérifié et revérifié car c'était l'une des suggestions!):

  • .NET Framework 4.5
  • ASP.NET noyau 1.0
  • Windows Phone 8
  • Windows Phone 8.1
  • Silverlight Pour Windows Phone 8
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.iOS (classic)

Ce que j'ai essayé/fait jusqu'à présent:

  • supprimer manuellement les références de paquets Nuget de tous les projets.
  • Vérifiez chacun .csproj et s'est assuré que les références ont bien été supprimées.
  • supprimer le dossier paquets dans la racine de ma solution
  • a essayé de réinstaller tous les paquets via le directeur de la console. Aucune erreur encore triangle jaune est affiché.
  • a essayé de réinstaller tous les paquets via le Gestionnaire Nuget. Aucune erreur encore triangle jaune est affiché.

Voici la section d'une de mes bibliothèques de classe portables:

<ItemGroup>
    <Reference Include="crypto">
      <HintPath>......packagesPortable.BouncyCastle.1.8.1libportable-
        net4+sl5+wp8+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10
        crypto.dll
      </HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json">
  <HintPath>......packagesNewtonsoft.Json.8.0.3libportable-
      net40+sl5+wp80+win8+wpa81Newtonsoft.Json.dll
  </HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="System.Net.Http">
  <HintPath>......packagesMicrosoft.Net.Http.2.2.29libportable-
      net40+sl4+win8+wp71+wpa81System.Net.Http.dll
  </HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Extensions">
  <HintPath>......packagesMicrosoft.Net.Http.2.2.29libportable-
      net40+sl4+win8+wp71+wpa81System.Net.Http.Extensions.dll
  </HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Primitives">
  <HintPath>......packagesMicrosoft.Net.Http.2.2.29libportable-
      net40+sl4+win8+wp71+wpa81System.Net.Http.Primitives.dll
  </HintPath>
  <Private>True</Private>
</Reference>

mon chemin de projet physique est:

C:xxxxxxxxxxxxxxx-xxxxxxx

donc, en prenant bouncycastle comme exemple et basé sur ce qui précède, je suppose que le chemin complet ressemblerait à ceci:

C:xxxxxxxxxxxxxxx-xxxxxxxpackagesPortable.BouncyCastle.1.8.1libportable-net4+sl5+wp8+win8+wpa81+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10crypto.dll

cela semble être un problème uniquement sur mes bibliothèques portables car j'ai réinstallé tous les paquets Nuget sur ma solution uwp et ils ont tous fonctionné comme prévu. La partie frustrante est que mon projet qui est toujours situé dans son emplacement d'origine, fonctionne parfaitement bien. J'ai désinstallé les paquets et je les ai réinstallés et tout fonctionne à 100% comme prévu.

quiconque A d'autres suggestions?

21
demandé sur Uwe Keim 2016-05-13 14:25:36

6 réponses

si vous n'avez pas reçu d'erreurs de sortie pendant l'installation et qu'il n'y a pas de Avertissements sur la construction/reconstruction. Simplement:

  1. Redémarrer Visual Studio
38
répondu pimbrouwers 2018-01-09 14:49:05

j'ai compris quel était le problème!

comme je l'ai dit à @Gusman, j'ai éteint mon avertissement. Une fois que je les ai allumés, j'ai eu l'affichage suivant pour mes projets portables:

Warning: IDE0006 - Error encountered while loading the project. Some project
features, such as full solution analysis for the failed project and projects
that depend on it, have been disabled

et il a fourni un lien vers cet article diagnostiquer les erreurs de construction du système du projet

après avoir suivi les instructions fournies et inspecté les nombreux dossiers se terminant par designtime.log , I remarqué que chacun d'eux avait un FAIL en référence à une Nuget paquet mais comme mentionné, j'avais enlevé tous mes projet, je suis donc allé à re-cocher la case .csproj de l'un d'eux et c'est quand j'ai repéré le problème(s)!

il y a en fait 2 problèmes:

  1. la "référence 151980920" pour Nuget n'obtient pas enlever correctement!!

  2. en rajoutant Microsoft.BCL.Build paquet Nuget, il ne définit pas le chemin correctement dans le .csproj

ci-dessous est un exemple de la faute:

<Import Project="..\..\..\packages\Microsoft.Bcl.Build.1.0.21
       \build\Microsoft.Bcl.Build.targets" Condition="Exists
       ('..\..\..\packages\Microsoft.Bcl.Build.1.0.21
       \build\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\
        Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format
        ('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21
        \build\Microsoft.Bcl.Build.targets'))" />
    <Error Condition="!Exists('..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\
        Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format
        ('$(ErrorText)', '..\..\..\packages\Microsoft.Bcl.Build.1.0.21\
        build\Microsoft.Bcl.Build.targets'))" />
</Target>

comme vous pouvez voir la première ligne i.e. <Import Project="..\..\..\packages\Microsoft.Bcl.Build.1.0.21> ne devrait pas être là et pourtant il semble rester dans le projet même si Microsoft.BCL.Build a été supprimé.

si vous en avez besoin, laissez-le et fixez la deuxième entrée car c'est ce que Je l'ai fait. Comme vous pouvez le voir, il y a deux entrées vérifiant le paquet Microsoft.BCL.Build Nuget . Dans mon cas, j'ai simplement enlevé le premier:

`<Error Condition="!Exists('..\packages\`

et a gardé celui-ci:

`<Error Condition="!Exists('..\..\..\packages\`

une fois que j'ai fini d'éditer le .csproj , j'ai rechargé le projet dans ma solution et pas seulement le Microsoft.BCL.Problème de construction résolu, il a également résolu toutes les autres dépendances Nuget qui ont été marqués avec le triangle jaune.

a gaspillé la majeure partie de ma journée là-dessus, mais j'espère que cela aidera les autres.

21
répondu Thierry 2018-09-21 18:20:07

j'ai affronté le même problème sur une solution dans vs2017 avec 2 projets pour DotNetCoreApp cadre 1.1. All mes colis portaient le signe d'exclamation/triangles jaunes. Une fois que j'ai lancé vs2017 en tant qu'administrateur, cela a été résolu.

4
répondu Remco 2017-07-21 08:24:56

j'ai eu le même problème quand j'ai cloné un projet à mon ordinateur portable de GitHub. Il y a des triangles jaunes qui s'affichent sur mon Entitefram Framework et AspNet.L'identité. Ce que j'ai fait pour résoudre le problème dans mon cas était de supprimer le dossier packages (qui contient les paquets Nuget) et restaurer les paquets une fois que j'ai ouvert le projet. Par conséquent, ces avertissements ont été désactivés après que j'ai relancé VS2017.

1
répondu Jason Ho 2017-08-05 12:21:21
  1. copiez vos fichiers de projet dans un autre dossier
  2. Supprimer dossier avec le projet de la solution
  3. créer un nouveau projet avec le même nom
  4. copier les fichiers de l'étape 1 vers le nouveau projet
  5. restaurer les colis
0
répondu shop350 2017-06-01 21:10:13

je sais que c'est un vieux post mais récemment j'ai été victime de cette erreur d'avertissement après avoir changé de tour. J'ai fait une recherche avec TFS (dans visual studio 2017) et soudainement toutes mes références ont eu une icône d'avertissement. Ce que j'ai trouvé qui fonctionne pour moi c'est que: allez dans le navigateur objet puis sélectionnez la boîte bascule "tous les composants" et finalement sélectionnez votre framework. Pour moi, ça a fonctionné comme un charme.

Resolve warning references error

0
répondu Nehoss 2018-05-15 16:04:20