2010-07-07 15 views
0

que je dois faire quelque chose comme ceci:Comment charger un fichier fourni avec l'installation de mon programme C#?

StreamReader reader = 
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf"); 

Sauf que je ne sais pas où l'utilisateur a installé le programme. Comment mon programme doit-il savoir où sont les fichiers installés?

Je suis un noob, au cas où vous ne l'auriez pas remarqué.

Répondre

3

Vous pouvez utiliser Assembly.GetEntryAssembly().Location pour obtenir le chemin sur le disque de votre exécutable, Path.GetDirectoryName pour obtenir le répertoire dans lequel il se trouve, puis Path.Combine de combiner le nom du répertoire avec le nom de fichier dans ce répertoire. Alors:

StreamReader reader = new System.IO.StreamReader(Path.Combine(
    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), 
    "awesomeloadablefile.ldf")); 
+1

+1 pour l'utilisation de Path.Combine() –

1

Essayez quelque chose comme ceci.

System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly(). Emplacement);

0

Quelque chose comme Assembly.GetExecutingAssembly().Location devrait fonctionner.

0

Vous pouvez essayer ceci:

File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt"); 
0

En supposant que vous connaissez la structure par rapport à votre répertoire exécutable, vous pouvez utiliser Application.StartupPath:

string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf"); 
StreamReader reader = new System.IO.StreamReader(path); 
0

Vous obtiendrez un chemin vers le répertoire exe. Je suppose que c'est là que vous avez décidé de mettre le fichier. Sinon, vous pouvez spécifier un emplacement dans le programme d'installation. Utilisez-vous le programme d'installation de Visual Studio?

Application.StartupPath