Meilleure methode pour obtenir le chemin du dossier de l'application

Meilleure methode pour obtenir le chemin du dossier de l’application


Source : Stack Overflow [.net]

AppDomain.CurrentDomain.BaseDirectory est probablement le plus utile pour acceder aux fichiers dont l’emplacement est relatif au repertoire d’installation de l’application.

Dans une application ASP.NET, ce sera le repertoire racine de l’application, pas le sous-dossier bin - ce qui est probablement ce que vous souhaitez habituellement. Dans une application cliente, ce sera le repertoire contenant l’executable principal.

Dans une application VSTO 2005, ce sera le repertoire contenant les assemblies manages VSTO de votre application, et non, par exemple, le chemin vers l’executable Excel.

Les autres methodes peuvent retourner des repertoires differents selon votre environnement - voir par exemple la reponse de @Vimvq1987.

CodeBase est l’endroit ou un fichier a ete trouve et peut etre une URL commencant par http://. Dans ce cas, Location sera probablement le cache de telechargement de l’assembly. CodeBase n’est pas garanti d’etre defini pour les assemblies dans le GAC.

MISE A JOUR
De nos jours (.NET Core, .NET Standard 1.3+ ou .NET Framework 4.6+), il est preferable d’utiliser AppContext.BaseDirectory plutot que AppDomain.CurrentDomain.BaseDirectory. Les deux sont equivalents, mais les AppDomains multiples ne sont plus pris en charge.