Comment obtenir le chemin de l'application dans une application console .NET ?

Comment trouver le chemin de l'application dans une application console ?

Dans [Windows Forms][1], je peux utiliser Application.StartupPath pour trouver le chemin actuel, mais cela ne semble pas être disponible dans une application console.

[1] : http://en.wikipedia.org/wiki/Windows_Forms

Solution

[System.Reflection.Assembly.GetExecutingAssembly()][1].[Location][2]1

Combinez cela avec [System.IO.Path.GetDirectoryName][3] si vous ne voulez que le répertoire.

1Selon le commentaire de Mr.Mindor' System.Reflection.Assembly.GetExecutingAssembly().Location renvoie l'emplacement actuel de l'assemblage en cours d'exécution, qui peut être ou non l'emplacement de l'assemblage lorsqu'il n'est pas en cours d'exécution. Dans le cas de la copie cachée d'assemblages, vous obtiendrez un chemin d'accès dans un répertoire temporaire. Le paramètre [System.Reflection.Assembly.GetExecutingAssembly().CodeBase][4] renvoie le chemin d'accès "permanent" de l'assembly.

[1] : https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.getexecutingassembly [2] : https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.location [3] : https://docs.microsoft.com/en-us/dotnet/api/system.io.path.getdirectoryname [4] : https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.codebase

Commentaires (18)

Vous pouvez utiliser le code suivant pour obtenir le répertoire actuel de l'application.

AppDomain.CurrentDomain.BaseDirectory
Commentaires (6)

C'est peut-être ce que vous cherchez à faire :

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Commentaires (0)