Obtenir le répertoire de l'application en utilisant C # Console Application?
J'ai trouvé quelque chose sur google, mais il ne fonctionne pas sur Application Console C#
Ce que j'ai trouvé:
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
Comment je peux obtenir de l'annuaire d'applications à l'aide de c# Console Application?
source d'informationauteur a1204773 | 2012-10-13
Vous devez vous connecter pour publier un commentaire.
Si vous voulez continuer à utiliser l'Application.ExecutablePath dans l'application de la console, vous devez:
Ajouter Un Système.De Windows.Des formes à votre usage section
Vous pouvez également utiliser
Répertoire.GetCurrentDirectory()
au lieu dePath.GetDirectoryName(Application.ExecutablePath)
et donc vous n'aurez pas besoin d'une référence à System.De Windows.Les formulaires.Si vous souhaitez ne pas inclure ni
System.IO
niSystem.Windows.Forms
espaces de noms, alors vous devriez suivre Reimeus de réponse.Application n'est pas disponible pour les Applications de Console, c'est pour les windows forms.
Pour obtenir le répertoire de travail, vous pouvez utiliser
Aussi pour obtenir le répertoire de l'exécutable, vous pouvez utiliser:
ATTENTION, il existe plusieurs méthodes et des PIÈGES pour les chemins.
Quel endroit êtes-vous après? Le répertoire de travail, le .Répertoire EXE, Dll répertoire?
Voulez-vous code est portable et fonctionne également dans une application console?
Votre code de rupture si le répertoire est incompatible barres obliques?
Permet de regarder certaines options:
Nécessite l'ajout d'une référence et chargement de l'Application de l'espace de noms.
Si le programme est exécuté par raccourci, registre, gestionnaire des tâches, il donnera à la mise En " le dossier, qui peut être différente de la .EXE emplacement.
En fonction de la façon dont il est géré effets qu'il comporte une barre oblique. Cela peut casser des choses, par exemple GetDirectoryName() estime pas de slash à un fichier, et de supprimer la dernière partie.
L'une de ces sont ma recommandation, travaillant à la fois la Forme et les applications de Console:
Lorsque utilisé dans un programme principal, les deux sont identique. Si elle est utilisée dans une DLL, le premier renvoie la .Répertoire EXE de chargement de la DLL, la seconde renvoie à la Dll du répertoire.
Essayer
Répertoire.GetCurrentDirectory