933 Stimmen

Metadaten-Datei '.dll' konnte nicht gefunden werden

Ich arbeite an einem WPF, C# 3.0-Projekt, und ich bekomme diesen Fehler:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

So referenziere ich meine Benutzerkontrollen:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

Das passiert nach jedem fehlgeschlagenen Build. Die einzige Möglichkeit, wie ich die Lösung kompilieren kann, ist, alle meine Benutzersteuerelemente auszukommentieren und das Projekt neu zu erstellen, und dann deaktiviere ich die Benutzersteuerelemente und alles ist in Ordnung.

Ich habe die Build-Aufträge und die Konfigurationen der Abhängigkeiten überprüft.

Wie Sie sehen können, scheint es, den absoluten Pfad der DLL-Datei abgeschnitten zu haben... Ich habe gelesen, dass es einen Fehler mit der Länge gibt. Ist dies ein mögliches Problem?

Es ist sehr ärgerlich, und das Kommentieren, Erstellen und Entkommentieren der Erstellung wird extrem lästig.

1164voto

Matt_Bro Punkte 13134

Ich hatte gerade das gleiche Problem. Visual Studio erstellt nicht das Projekt, das referenziert wird.

Schriftliche Anweisungen:

  1. Klicken Sie mit der rechten Maustaste auf die Lösung und dann auf Eigenschaften.
  2. Klicken Sie auf der linken Seite auf Konfiguration.
  3. Vergewissern Sie sich, dass das Kontrollkästchen unter "Erstellen" für das Projekt, das nicht gefunden werden kann, aktiviert ist. Wenn es bereits aktiviert ist, deaktivieren Sie es, klicken Sie auf "Übernehmen" und aktivieren Sie die Kästchen erneut.
  4. (Optional) Sie müssen dies sowohl für den Release- als auch für den Debug-Modus in den Lösungseigenschaften tun.

Bildschirmaufnahme Anweisungen:

  • Es heißt, ein Bild sagt mehr als tausend Worte. Klicken Sie auf das GIF, um es zu vergrößern, und es wird hoffentlich leicht zu verstehen sein:

Gif Instructions

264voto

corvuscorax Punkte 5700

Dies kann auch in neueren Versionen von Visual Studio passieren (bei mir ist es gerade in Visual Studio 2013 passiert):

Sie können auch versuchen, Visual Studio zu schließen und die Datei .suo Datei, die sich neben der .sln Datei. (Sie wird neu generiert, wenn Sie das nächste Mal Save all (oder beenden Sie Visual Studio)).

Ich hatte dieses Problem, wenn ich der Lösung auf einem anderen Computer neue Projekte hinzufügte und dann die Revisionen hineinzog, aber die .suo Datei kann auch in anderen Fällen beschädigt werden und zu einem sehr merkwürdigen Verhalten von Visual Studio führen, daher versuche ich es immer mit dem Löschen der Datei.

Beachten Sie, dass das Löschen der .suo Datei setzt das/die Startprojekt(e) der Lösung zurück.

Mehr zum .suo Datei ist aquí .

224voto

jordan koskei Punkte 2609

Die vorgeschlagene Antwort hat bei mir nicht funktioniert. Der Fehler ist ein Täuschungsmanöver für ein anderes Problem.

Ich fand heraus, dass ich eine leicht abweichende Version von .NET anstrebte und dies vom Compiler als Warnung gekennzeichnet wurde, aber die Erstellung fehlschlug. Dies hätte als Fehler und nicht als Warnung gekennzeichnet werden müssen.

121voto

Vikram Punkte 3802

Nun, meine Antwort ist nicht nur die Zusammenfassung aller Lösungen, sondern sie bietet mehr als das.

Abschnitt (1):

In allgemeinen Lösungen:

Ich hatte vier Fehler dieser Art ("Metadaten-Datei konnte nicht gefunden werden") zusammen mit einem Fehler, der besagte, dass die Quelldatei nicht geöffnet werden konnte ("Nicht spezifizierter Fehler ')".

Ich habe versucht, den Fehler "Metadaten-Datei konnte nicht gefunden werden" zu beheben. Dazu habe ich viele Beiträge, Blogs usw. gelesen und diese Lösungen gefunden, die möglicherweise wirksam sind (ich fasse sie hier zusammen):

  1. Starten Sie Visual Studio neu und versuchen Sie erneut zu erstellen.

  2. Aller à Lösungs-Explorer". . Klicken Sie mit der rechten Maustaste auf die Lösung. Gehen Sie zu Eigenschaften . Gehe zu Konfigurations-Manager'. . Prüfen Sie, ob die Kontrollkästchen unter Bauen geprüft werden oder nicht. Wenn einige oder alle von ihnen nicht markiert sind, überprüfen Sie sie und versuchen Sie erneut zu bauen.

  3. Sollte(n) die oben genannte(n) Lösung(en) nicht funktionieren, befolgen Sie die in Schritt 2 beschriebene Reihenfolge, und selbst wenn alle Kontrollkästchen aktiviert sind, deaktivieren Sie sie, aktivieren Sie sie erneut und versuchen Sie erneut zu erstellen.

  4. Build Order und Projektabhängigkeiten:

    Aller à Lösungs-Explorer". . Klicken Sie mit der rechten Maustaste auf die Lösung. Gehen Sie zu 'Projektabhängigkeiten...' . Sie werden zwei Registerkarten sehen: Abhängigkeiten y Ordnung schaffen . Diese Build-Reihenfolge ist diejenige, in der die Lösung erstellt wird. Überprüfen Sie die Projektabhängigkeiten und die Build-Reihenfolge, um festzustellen, ob ein Projekt (z. B. "Projekt1"), das von einem anderen (z. B. "Projekt2") abhängig ist, versucht, vor diesem (Projekt2) zu bauen. Dies könnte die Ursache für den Fehler sein.

  5. Überprüfen Sie den Pfad der fehlenden .dll:

    Überprüfen Sie den Pfad der fehlenden .dll. Wenn der Pfad ein Leerzeichen oder ein anderes ungültiges Pfadzeichen enthält, entfernen Sie es und versuchen Sie erneut, das Programm zu erstellen.

    Wenn dies die Ursache ist, müssen Sie die Reihenfolge der Erstellung anpassen.


Abschnitt (2):

Mein besonderer Fall:

Ich habe alle oben genannten Schritte mit verschiedenen Permutationen und Kombinationen ausprobiert und Visual Studio ein paar Mal neu gestartet. Aber es hat mir nicht geholfen.

Also beschloss ich, eine andere Fehlermeldung zu beseitigen, auf die ich gestoßen war ('Source File Could Not Be Opened ('Unspecified error ')').

Ich bin auf einen Blogbeitrag gestoßen: TFS-Fehler - Quelldatei konnte nicht geöffnet werden ("Nicht spezifizierter Fehler")

Ich habe die in diesem Blogbeitrag erwähnten Schritte ausprobiert, und der Fehler ist verschwunden Quelldatei konnte nicht geöffnet werden ('Nicht spezifizierter Fehler')' und überraschenderweise habe ich andere Fehler beseitigt ('Metadaten-Datei konnte nicht gefunden werden') auch.


Abschnitt (3):

Die Moral von der Geschicht':

Versuchen Sie alle in Abschnitt (1) genannten Lösungen (und alle anderen Lösungen), um den Fehler zu beheben. Wenn nichts funktioniert, gehen Sie wie im Blog in Abschnitt (2) oben beschrieben vor, löschen Sie die Einträge aller Quelldateien, die nicht mehr in der Versionsverwaltung und im Dateisystem vorhanden sind, aus Ihrer .csproj-Datei .

52voto

In meinem Fall wurde das Problem durch eine nicht übereinstimmende Version von .NET Framework verursacht.

Ein Projekt war 3.5 und das andere bezog sich auf das Projekt 4.6.1.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X