C # Pfad relativ zum Montag DLL und nicht EXE [geschlossen]
-
28-09-2019 - |
Frage
Ich habe eine app, wo Benutzer-Plugins für meine Anwendung erstellen und lassen ihre dll in a / Plugin-Verzeichnis.
Die Plugin-Entwickler werden manchmal zu Referenzdateien (xml-Konfigurationsdateien, etc.) haben, die in ihrem jeweiligen / plugins / plugin_app / Ordnern gespeichert werden sollen.
Es scheint jedoch, dass, wenn sie meine App der relative Pfad starten immer auf den Ordner festgelegt wird, in dem die EXE gestartet wird (meine Anwendung). Wie löse ich dieses Problem?
Lösung
Wenn sie verweisen auf die Datei, die sie nach dem Anhängen der Pfadkomponenten verweisen können:
FileStream f = new FileStream(Path.Combine(mainAppDir,"plugins\\plugin_app\\filename.xml"),FileMode.Open);
Andere Tipps
Sie müssen manuell den Pfad der DLL hinzufügen, einen absoluten Pfad zu bilden.
Zum Beispiel:
string somePath = Path.Combine(typeof(PluginType).Assembly.Location, "Config.xml");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow