2012-07-04 3 views
2

J'essaie d'obtenir le chemin d'accès de mon projet à la racine. Je suis incapable de le faire, je l'ai essayé:Obtention du chemin d'application

System.AppDomain.CurrentDomain.BaseDirectory; 

Mais cela va au fond, comment puis-je juste le chemin vers la racine du projet? J'utilise C# avec. NET Framework 4.0.

+0

Envisagez-vous d'expédier votre projet avec le .exe? Copiez les ressources dont vous avez besoin –

+1

Ceci n'est pas formulé très clairement, donc je devine ce que vous entendez par "cela va en profondeur" et déchiffrer vos commentaires sur les réponses. S'il vous plaît corrigez-moi si je me méprends. Essayez-vous d'obtenir le chemin d'accès au fichier .csproj ou à l'exe créé lors de la compilation? Et essayez-vous de le faire dans votre application ou dans Visual Studio? En fait, ce serait vraiment utile si vous deviez juste afficher le chemin que vous obtenez et ensuite le chemin que vous voulez obtenir. – David

+0

ne pouvez-vous pas simplement utiliser 'System.IO.Path.Combine (System.AppDomain.CurrentDomain.BaseDirectory," .. "," .. ")' - Je réalise que cela ne convient pas à toutes les situations. – paul

Répondre

4
Assembly.GetExecutingAssembly().Location. 
+1

Il retourne également l'emplacement du fichier exe avec filename.exe à la fin –

3

essayer avec

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

Il renvoie également l'emplacement du fichier exe –

+0

Avez-vous testé Nikhil? –

+0

Oui. À la fin de la sortie, il est dit Bin/Release –

0

Pouvez-vous essayer le ci-dessous:

String assemblyFileName = typeof(Class1).Assembly.CodeBase.Replace("file:///", ""); 
FileInfo assemblyInfo = new FileInfo(assemblyFileName); 
Console.WriteLine(assemblyInfo.Directory); 

REMARQUE: Class1 est classe dans la bibliothèque que vous exécutez à partir de

Questions connexes