Visual Studio: Referenzen konnte nicht gefunden werden

Ich habe öfters das Problem, dass in Visual Studio plötzlich die Referenzen (referenzierte Bibliotheken) nicht mehr verfügbar sind. Dies tritt meistens auf, wenn ich das VS-Projekt über Git comitted habe und auf einem anderen Rechner weiterbearbeiten möchte. Auch tritt dies auf, wenn zum Beispiel mein Kollege an einem Projekt weitergearbeitet hat und ich dann über git mir die neueste Version per Pull-Request hole. Allermeistens ist dafür die vorausgegangene Ursache, dass für die eingebunden Bibliotheken, wie Telerik, ein Update gemacht worden ist und nun die Versionsstände, die in der *.cproj-Datei hinterlegt sind mit den installierten Versionen differieren.

Fehlermeldungen

Das Ganze äußert sich dann beim Kompilieren in der Fehlermeldung:

„The referenced component ‚[…]‘ could not be found.“

Screenshot Error List von Visual Studio mit der Fehlermeldung The referenced component ... could not be found
Fehlermeldung

Und wenn man im Solution Explorer unter dem Projekt unter References nachschaut, dann sieht man die betreffenden Referenzen mit einem gelben Dreieck und Ausrufzeichen im Icon.

Screenshot Visual Studio Solution Explorer mit gelben Dreieck und Ausrufezeichen an den Referenzen
nicht gefundene Referenzen im Solution Explorer

Schaut man sich die Eigenschaften (Properties) der Referenzen genauer an, so sieht man, dass alle betroffenen Referenzen, die Eigenschaft „Specific Version“ auf True gesetzt haben und die Eigenschaft Version 0.0.0.0 ist.

Screenshot Visual Studio Eigenschaften-Fenster mit Assembly-Version 0.0.0.0
Package-Version ist 0.0.0.0 in Visual Studio

Das kann also nicht sein. Hier kann etwas nicht stimmen. Dies ist ärgerlich und frisst unnötig Zeit, die man lieber mit Programmieren verbringen würde wollen.

Lösungsansatz 1: Referenzen updaten

Ein Lösungsansatz ist alle Referenzen zu updaten. Um mir Zeit und Arbeit zu sparen habe ich es als erstes über die Package Manager Console versucht. Und dort den folgenden Befehl eingefügt:

PM> Update-Package

Falls die Package Manager Console nicht angezeigt wird, kann man diese über „View“ ➤ „Other Views“ ➤ „Package Manager Console“ aufrufen.

Screenshot Package Manager Console in Visual Studio
Update Packages über die Package Manager Console

Dabei wurden einige Referenzen geupdated und sind nun verfügbar. Aber leider nicht alle. Im Großen und Ganzen bleibt das Problem bestehen.

Als zweiten Versuch habe ich dann den folgenden Befehl versucht,

PM> Update-Package -Reinstall

welcher die Nuget-Referenzen deinstalliert, um diese dann neu zu installieren. Dies hat leider auch nicht zum gewünschten Erfolg geführt. Viele Referenzen wurden zwar entfernt, jedoch nicht neu installiert.

Lösungsansatz 2: Specific Version auf False setzen

Ein weiterer Lösungsansatz kann sein in den Properties der betroffenen Refreces die Eigenschaft „Specific Version“ auf False zu setzen.

Screenshot Visual Studio Eigenschaften-Fenster
Spezifische Version auf “False” setzen

Für einige der betroffenen Referenzen hat das funktioniert. Diese haben danach das gelbe Dreieck mit Ausrufezeichen verloren. Leider klappte diese Vorgehensweise nicht für alle Referenzen.

Lösungsansatz 3: Packages manuell deinstallieren und neu installieren

Wenn alles nicht hilft, ist der weniger erquickliche und mühsame Lösungsansatz die einzelnen Packages über den NuGet Package Manager manuell zu deinstallieren und dann neu zu installieren.

Wer bereits vorher den Update-Package -Reinstall durchgeführt hat, muss ggf. nur noch neu installieren, weil die betreffenden Packages bereits deinstalliert sind.

Visual Studio: Found conflicts between different versions of packages
Komponente neu installieren über NuGet Package Manager

Aufrufen kann man den NuGet Package Manager über Rechtsklick aufs Projekt und dann „Manage NuGet Packages…“ wählen. Oder man geht im Menü über „Tools“ ➤ „Nuget Package Manager“ ➤ „Manage NuGet Packages for Solution“.

Beim Neuinstallieren der Packages kann es leider zu neuen unerwarteten Problemen kommen. So erfolgte bei mir eine Fehlermeldung vom Typ:

Found conflicts between different versions of “assembly” that could not be resolved.

Hier hilft nur ein Downgrade des in Konflikt stehenden Packages auf eine unterstützte Version.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert