VS 2017 15.3 Gelbe Dreiecke auf Referenzen

9

Heute morgen habe ich auf VS 2017 15.3 upgegraded und bekomme jetzt für die meisten meiner Referenzen gelbe Dreiecke. Das Projekt läuft gut (Build ist gut in CLI und VS und Wiederherstellung wurde mehrmals ausgeführt), die ich sagen kann (und noch besser auf Dotnetcore 2.0 tatsächlich), aber diese bleiben. Hat jemand anderes dies geschehen oder einen Vorschlag haben? Danke.

Link zur Datei project.assets.json - & gt; Ссылка

Auch Ausgabe von ausgegrauten Usings und roten Referenzen, obwohl alles aufgebaut und gut läuft.

    
dodegaard 21.08.2017, 21:13
quelle

4 Antworten

6

Update: VisualStudio twitter account hat mir geantwortet, dass dies ein Bug ist und sie arbeiten an einem Update für die Zukunft auf diesem ....

Ich habe zwei Antworten auf meinen Beitrag:

1) Das Verwendungsproblem, das bei ausgegrauten Dingen bemerkt wurde, war tatsächlich ein ReSharper-Problem. Wenn Sie auf VS 2017 15.3 upgraden und R # verwenden, stellen Sie sicher, dass Sie es auch auf 2017.2 aktualisieren.

2) Das Problem der gelben Dreiecke wird vom Visual Studio-Team untersucht, aber ehrlich gesagt glaube ich, dass es mit Warnungen im Build verknüpft ist, dass diese Referenzen entweder auf niedrigere Abhängigkeiten (zB Newtonsoft auf verschiedenen Ebenen) oder auf Vorschaubilder angewendet werden . Die sich schnell entwickelnde .NET 2.0-Welt hat dieses Problem möglicherweise noch verschärft. Gelbe Dreiecke haben traditionell bedeutet vermisst, aber überprüfen Sie Ihre Warnungen, um zu sehen, ob das verwandt ist, und überprüfen Sie dann die Abhängigkeitskette. Ich werde diese Antwort aktualisieren, sobald ich vom VS-Team zurückgehe (schreibe ihnen und Damian Edwards + Scott Hanselman, dass sie mir auf Twitter helfen).

    
dodegaard 28.08.2017, 19:48
quelle
1

Nach der Aktualisierung der Projekte in meiner (.NET 4.6.1) -Lösung auf das neue .NET Standard-Format .csproj , das mit VS2017 geliefert wird, trat das Problem mit dem gelben Dreieck bei Referenzen auf. Die Referenzen, für die ich Warnungen erhalten habe, waren ProjectReference type (obwohl es in PackageReference für gängige Pakete in den fraglichen Projekten zu verschmelzen schien).

Ich hatte keine Build-Warnungen und es gab nichts in der ausführlichen Build-Ausgabe, um anzuzeigen, was die Ursache sein könnte.

Ich könnte alle Warnungen auf ein einzelnes Projekt in meiner Lösung zurückverfolgen. Ich konnte lösen, indem ich dieses Projekt aus meiner Lösung entfernte und es dann wieder hinzufügte und nur die notwendigen Projektreferenzen hinzufügte.

Es scheint, dass das Problem mit unnötigen Projektreferenzen (oder möglicherweise zirkulären) zusammenhängt, die durch die neue Unterstützung für transitive Abhängigkeiten verursacht werden. Nach dem Entfernen des Projekts und dem Zurücksetzen nur mit dem Minimum ProjectReference s und der Unterstützung transitiver Abhängigkeiten, um die Abhängigkeit zu propagieren, verschwanden die Warnungen.

Dadurch wurde auch ein Problem behoben, bei dem das fragliche Projekt während der Befehlszeile msbuild initiated Build auf meinem CI-Server, auf dem nur VS2017 Build-Tools installiert sind (nicht die vollständige IDE), kompiliert wurde.

    
Simon Fox 03.10.2017 03:50
quelle
0

Ich hatte das gleiche Problem, einige der Referenzen wurden mit dem gelben Dreieck markiert. Ich konnte jedoch mein Projekt aufbauen und ausführen. Ich habe es geschafft, diese Warnung zu entfernen, indem ich die folgenden Schritte aus dieser Antwort befolge: .Net 2015 Referenzen mit gelbem Dreieck für Nuget-Pakete in tragbaren Bibliotheken

Ich habe die Ablaufverfolgung für Visual Studio aktiviert. Ich hatte die nächsten Warnungen in den Protokolldateien für alle nicht korrekt geladenen Referenzen:

  

Konflikt zwischen "Referenz: Microsoft.Win32.Primitives, Version = 4.0.2.0, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a, ProzessorArchitecture = MSIL" und "Referenz: C: \ Programme (x86) \ Visual Studio \ MSBuild \ Microsoft \ Microsoft.NET.Build.Extensions \ net461 \ ref \ Microsoft.Win32.Primitives.dll '. Wählen Sie "Referenz: C: \ Programme (x86) \ Visual Studio \ MSBuild \ Microsoft \ Microsoft.NET.Build.Extensions \ net461 \ ref \ Microsoft.Win32.Primitives.dll", da AssemblyVersion '4.0.3.0' größer als ist '4.0.2.0'.

Um genau zu sein, habe ich die nächsten Schritte gemacht:

  1. Fehlerbedingung aus meiner .csproj-Datei entfernt
  2. Parameter <Private>true</Private> für nicht geladene Referenzen in der .csproj-Datei
  3. entfernt
  4. Gelöschte nicht geladene Pakete aus \ lib und \ ref Ordnern im entsprechenden MSBuild Ordner.
  5. Gelöschte Pakete aus dem Ordner \ packages in der Lösung.
  6. Wiederhergestellte nuget-Pakete.

Ich bin mir nicht sicher, ob all diese Schritte notwendig sind, aber es hat für mich funktioniert.

    
Lickut 18.11.2017 23:18
quelle
0

Ich hatte ähnliches Problem in asp.net Kernprojekt:

Ich habe mit bundleconfig.json herumgespielt, was zu einem falschen Format geführt hat.

    
Klaatu Verata Necto 18.02.2018 22:58
quelle

Tags und Links