Ich muss zum Bin-Pfad der ausführenden Assembly gehen. Wie bekommst du es? Ich habe einen Ordner Plugins in der Bin / Debug und ich muss den Speicherort erhalten
Ich muss zum Bin-Pfad der ausführenden Assembly gehen. Wie bekommst du es? Ich habe einen Ordner Plugins in der Bin / Debug und ich muss den Speicherort erhalten
Antworten:
So erhalten Sie den Ausführungspfad der Anwendung:
var path = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
MSDN enthält eine vollständige Referenz zum Ermitteln des Pfads der ausführenden Anwendung .
Beachten Sie, dass der Wert in pathdie Form file:\c:\path\to\bin\folderhat. Bevor Sie den Pfad verwenden, müssen Sie möglicherweise file:\die Vorderseite entfernen. Z.B:
path = path.Substring(6);
Du könntest das tun
Assembly asm = Assembly.GetExecutingAssembly();
string path = System.IO.Path.GetDirectoryName(asm.Location);
System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
Dies habe ich verwendet, um dies zu erreichen:
System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, System.AppDomain.CurrentDomain.RelativeSearchPath ?? "");
RelativeSearchPathtatsächliche Ordner „sind“ und in der Konsole App enthält das ist nullund BaseDirectorytatsächlich „ist“ Pfad enthält.
var assemblyPath = Assembly.GetExecutingAssembly().CodeBase;
Path.GetDirectoryName(Application.ExecutablePath)
z.B. Wert:
C:\Projects\ConsoleApplication1\bin\Debug