Ottenere la directory dell’applicazione da un’applicazione WPF

Ho trovato soluzioni per Windows Form con AppDomain ma quale sarebbe l’equivalente per un object Application WPF?

Un metodo:

 System.AppDomain.CurrentDomain.BaseDirectory 

Un altro modo per farlo sarebbe:

 System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName) 

Eccone un altro:

 System.Reflection.Assembly.GetExecutingAssembly().Location 

Puoi anche usare il primo argomento degli argomenti della riga di comando:

String exePath = System.Environment.GetCommandLineArgs()[0]

 String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName; string dir = Path.GetDirectoryName(exePath); 

Prova questo!

Prova questo. Non dimenticare di using System.Reflection .

 string baseDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 

Ho usato semplicemente string baseDir = Environment.CurrentDirectory; e il suo lavoro per me.

In bocca al lupo

Modificare:

Ho usato per cancellare questo tipo di errore ma preferisco modificarlo perché penso che il punto negativo in questa risposta aiuti le persone a conoscere il modo sbagliato. 🙂 Ho capito che la soluzione di cui sopra non è utile e l’ho modificata in string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory; Altri modi per ottenerlo sono:

 1. string baseDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 2. String exePath = System.Environment.GetCommandLineArgs()[0]; 3. string appBaseDir = System.IO.Path.GetDirectoryName (System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); 

In bocca al lupo

È inoltre ansible utilizzare liberamente Application.StartupPath da System.Windows.Forms, ma è necessario aggiungere riferimento per l’assembly System.Windows.Forms!

Ho provato questo:

  label1.Content = Directory.GetCurrentDirectory(); 

e ottieni anche la directory.