Entwickler-Ecke

Sonstiges (.NET) - Environment.CurrentDirectory verändert sich ungewollt


ebber - Mi 08.04.09 18:29
Titel: Environment.CurrentDirectory verändert sich ungewollt
Hi,

wenn ich mein Programm starte, finde ich ja nromalwerweise in Environment.CurrentDirectory den Pfad in dem mein Programm läuft.

Wenn ich jetzt aber einen FileDialog oder ähnliches aufmache, veränder sich das CurrentDirectory zum Pfad in den ich im Dialog navigiert hatte.

Kann man das irgendwie verhindern, dass sich die Eigenschaft verändert oder gibt es noch eine andere Eigenschaft wo diese Information enthalten ist?

MfG


JüTho - Mi 08.04.09 18:42

Bei Windows-Anwendungen Application.StartupPath, bei Console-Anwendungen über eine der Assembly.Get-Methoden und dann Assembly.Location. Jürgen


ebber - Mi 08.04.09 19:12

Ich habe vorher schon gedacht, dass es einen Application.StartupPath gibt. Ich habe ihn dann aber nicht mehr gefunden.
Jetzt weis ich auch wieso: WPF. Da gibt es den nicht?

Edit: Nachdem ich das Problem erkannt hatte, hätte ich auch gleich selbst suchen können. :oops:

Aufjedenfall, es gibt 2 mögliche Wege:


C#-Quelltext
1:
AppDomain.CurrentDomain.BaseDirectory;                    


oder


C#-Quelltext
1:
System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);                    


MfG


JüTho - Mi 08.04.09 19:35

user profile iconebber hat folgendes geschrieben Zum zitierten Posting springen:
WPF. Da gibt es den nicht?

Nanu? Aber die Assembly-Klasse hilft dann sicher. Ich hatte nur deshalb auf "Console" hingewiesen, weil es dort mit Application im Prinzip nicht geht. Jürgen


ebber - Mi 08.04.09 19:39

Danke für deine Hilfe.
Oben habe ich die Lösung. Mein Felher.