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.
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).
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.
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:
<Private>true</Private>
für nicht geladene Referenzen in der .csproj-Datei Ich bin mir nicht sicher, ob all diese Schritte notwendig sind, aber es hat für mich funktioniert.
Tags und Links visual-studio .net-core