2016-07-21 8 views
0

ich eine externe DLL bin mit PDF-Exporte in einem C# -Projekt zu behandeln. Ich habe die externe DLL-Referenz in Visual Studio hinzugefügt, entsprechende Anweisungen hinzugefügt, Intellisense zeigt alle Arten von Methoden und Eigenschaften, wenn ich den Namespace austippe, und das gleiche spiegelt sich im Objekt-Explorer wider.referenzierte DLL in Visual Studio kann nicht seine eigene DLL C# finden

Allerdings, wenn ich die Anwendung ausführen, führt das Programm eine Laufzeitausnahme, weil meine externe DLL nicht eine andere DLL finden können, die im selben Verzeichnis wie die externe DLL lebt.

Um die Sache noch verwirrender zu machen, beschwert sich das Programm nicht, wenn ich nur jedes einzelne DLL aus dem Verzeichnis desjenigen, das ich referenzieren will, in den Debug-Ordner meines Programms kopiere, aber das sollte ich natürlich nicht tun müssen Dies.

Vielen Dank im Voraus.

+0

Ja, ich glaube, Sie auf Eigenschaften der DLL unter der Registerkarte Verweise in Lösung Explorer suchen. Legen Sie fest, dass Kopien immer kopiert oder kopiert werden, wenn sie neuer sind. Es sollte in den Debug-Ordner kopiert werden, wo Sie es trotzdem manuell kopieren. – lozzajp

Antwort

0

Was Sie brauchen, ist „Kopie an Ausgabeverzeichnis“ zu prüfen, in VS. „kopieren immer“ in den Eigenschaften Ihres DLL Andernfalls wird die DLL nicht automatisch in die Ausgabe kopiert und das Programm kann nicht ausgeführt werden.

Ich denke, das andere Frage, die Sie helfen könnten: MSBuild doesn't copy references (DLL files) if using project dependencies in solution

+0

Meinst du "Copy Local"? In diesem Fall ist es bereits auf true gesetzt –

+0

Nein, ich meine „in das Ausgabeverzeichnis kopieren“ „kopieren“ – Ouarzy

+0

immer kann ich nicht scheinen, um die Option zu finden. In Visual Studio 2013 öffne ich den Projektmappen-Explorer, decke das Verweise-Dropdown auf, klicke mit der rechten Maustaste auf meine DLL und wähle Eigenschaften –

0

Sieht aus wie Ihre Abhängigkeit eine weitere Referenz, die Sie in Ihren Drop aufnehmen möchten hat. Sie haben zwei Optionen: - Fügen Sie entweder einen Verweis auf diese implizite Abhängigkeit hinzu (und setzen Sie "Copy Local" = true) oder - Fügen Sie die abhängige DLL als Projektelement hinzu und markieren Sie sie als "Copy to output directory" = wahr.

Verwandte Themen