2013-01-10 23 views
21

Jedesmal, ermittle ich meine Lösung, die ich diese Fehlermeldung erhalten, bauen;Dieser Verweis konnte nicht aufgelöst werden. Konnte die Montage

Warnung 3 Diese Referenz konnte nicht aufgelöst werden. Konnte die assembly "StandardClassLibrary, Version = 1.0.0.0, Culture = neutral, processor = MSIL" finden. Überprüfen Sie, ob die Montage auf Platte vorhanden ist. Wenn dieser Hinweis von Ihrem Code erforderlich ist, können Sie Kompilierungsfehlern bekommen. StandardClassLibrary

Also meine Anwendung hat eine Reihe von Projekten, von denen StandardClassLibrary eins ist. Die obige Nachricht ist eine Warnung und soweit ich weiß, hat sie keinen Einfluss auf meine Lösung.

Aber ich würde lieber nicht da sein, nur für den Fall ...

+1

einen Test schreiben, der die Funktionalität der Methoden in der Montage testen .Führen Sie diesen Test beim Start aus und stellen Sie sicher, dass alle Ergebnisse erwartet werden, nur um sicher zu gehen (statt so weit wie Sie es sagen können). – Kcvin

Antwort

37

Sie höchstwahrscheinlich diese Meldung erhalten, wenn die Projektpunkte auf einen alten Ort der Versammlung, wo es nicht mehr existiert. Da Sie in der Lage waren, es einmal zu bauen, hat die Montage bereits in Ihren bin\Debug/bin\Release Ordner kopiert worden, damit Ihr Projekt noch eine Kopie finden.

Wenn Sie den Referenzknoten des Projekts in Ihrem Solution Explorer öffnen, sollte neben der Referenz ein gelbes Symbol angezeigt werden. Entfernen Sie die Referenz und fügen Sie sie erneut an der richtigen Stelle ein.

Wenn Sie den Speicherort kennen möchten, von dem referenziert wurde, müssten Sie die .csproj-Datei in einem Texteditor öffnen und nach der HintPath für diese Assembly suchen - die IDE zeigt diese Information aus irgendeinem Grund nicht an.

+2

Vielen Dank dafür. Ich habe meine Referenzen überprüft und sie sind alle in Ordnung, keine gelben Symbole. – arame3333

+0

danke es funktioniert! Ich hatte kein gelbes Icon bei Referenzen, aber ich habe alle DLLs vom Debug-Ordner in den Release-Ordner kopiert und es funktioniert jetzt. – Muflix

+0

Gespeichert mein Tag = D –

3

Überprüfen Sie, ob Ihre Projektdateien schreibgeschützt sind. Entfernen Sie die schreibgeschützte Eigenschaft, indem Sie mit der rechten Maustaste auf den Projektordner klicken und Eigenschaften auswählen. Entfernen Sie auf dem Eigenschaftenbildschirm das schreibgeschützte Kontrollkästchen. Ich stieß auf das gleiche Problem und das löste es für mich.

0

Das verwirrte mich eine Weile, bis ich herausfand, dass die Abhängigkeiten der verschiedenen Projekte in der Lösung durcheinander waren. Machen Sie das klar und natürlich erscheint Ihre Baugruppe an der richtigen Stelle.

1

Wenn das Projekt auf einem anderen PC durch den Team Foundation Server mit einem anderen Speicherort der gleichen Bibliotheksdatei ausgecheckt wird, wird in Reference kein gelbes Symbol angezeigt, aber wenn das Release geändert wird, wird ein Fehler ausgegeben . Genau wie das, was @C.Evenhuis sagte, wird es alte in vorherigen Build (zB: Debug Build) verwenden zurück, so dass ich nicht bemerkt den Fehler.

Jetzt weiß ich, dass es eine schlechte Angewohnheit ist, Bibliotheksdateien an einem anderen Ort auf einem anderen PC zu speichern.

Sie müssen nur die Referenz löschen und die gleiche Referenz vom richtigen Speicherort hinzufügen.

0

Ich hatte die gleiche Warnung in VS 2017. Wie es sich herausstellte in meinem Fall hatte ich ein Komponententest-Projekt hinzugefügt und musste eine Abhängigkeit für den Komponententest für die DLL, die es getestet wurde.

3

Wenn jemand dieses Problem konfrontiert mit einigen nuget Pakete, können Sie beheben, dass die Pakete durch eine Neuinstallation der Package Manager Console:

Update-Package -reinstall 
Verwandte Themen