Ich versuche, ein einfaches c#
Programm mit zu machen.csc.exe Referenz externe .dll-Datei
Ich habe versucht, mein Programm auf zwei verschiedene Arten zu kompilieren:
1) ich meine .dll
-Datei im selben Verzeichnis wie meine .cs
Datei gehalten. Als ich lief
csc /r:Growl.Connector.dll,Growl.CoreLibrary.dll /out:test.exe *.cs
Es zusammengestellt gut und lief auch gut.
2) Jetzt habe ich ein Verzeichnis in meinem aktuellen Arbeitsverzeichnis namens growl
erstellt und hielt meine alle .dll
es Hinweise.
Jetzt, wenn ich versuche, es zu kompilieren den folgenden Befehl
csc /r:"D:\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.Connector.dll","D:
\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.CoreLibrary.dll" /out:test.exe *.cs
Es kompilierte gut, aber wenn ich versuchte es die unten genannte Ausnahme aufgetreten auszuführen.
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Growl.Connector, Version=2.0.0.0, Culture=n
eutral, PublicKeyToken=980c2339411be384' or one of its dependencies. The system cannot find the file specified.
at GrowlNotification.Program.Main(String[] args)
So ist meine Frage, was der richtige Weg ist, .dll
Datei in csc
zu verweisen, wenn Dateien in einem externen Ordner befinden.
Hier ist die directory structure für 2. Fall.
Es gibt also keine Möglichkeit, die '.dll' Datei in einem externen Ordner zu behalten und meine' .exe' durch Doppelklick auszuführen. Wie ich aus Ihrer Antwort verstehe, sollte ".dll" -Datei zur Laufzeit im selben Ordner wie .exe vorhanden sein. – RanRag
@Noob: Ich glaube, es könnte in einem * Unterverzeichnis * sein, wenn Sie eine app.config-Datei hinzufügen, um private bin path probing anzugeben, aber das fügt nur noch mehr Komplexität hinzu. Es ist alles viel einfacher, wenn sich alles im selben Verzeichnis befindet. –
Danke für die Info. – RanRag