Obtendo o diretório do aplicativo a partir de um aplicativo WPF

Eu encontrei soluções para Windows Forms com AppDomain, mas o que seria o equivalente para um object de Application WPF?

Um método:

 System.AppDomain.CurrentDomain.BaseDirectory 

Outra maneira de fazer isso seria:

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

Aqui está outro:

 System.Reflection.Assembly.GetExecutingAssembly().Location 

Você também pode usar o primeiro argumento dos argumentos da linha de comando:

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

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

Tente isso!

Tente isso. Não esqueça de using System.Reflection .

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

Eu usei simplesmente string baseDir = Environment.CurrentDirectory; e seu trabalho para mim.

Boa sorte

Editar:

Eu costumava apagar esse tipo de erro, mas eu prefiro editá-lo, porque acho que o ponto negativo dessa resposta ajuda as pessoas a saberem o caminho errado. 🙂 Eu entendi a solução acima não é útil e eu mudei para string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory; Outras maneiras de obtê-lo são:

 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); 

Boa sorte

Você também pode usar livremente Application.StartupPath de System.Windows.Forms, mas deve adicionar referência para a assembly System.Windows.Forms!

Eu tentei isso:

  label1.Content = Directory.GetCurrentDirectory(); 

e obtenha também o diretório.