0

私はこのようなことをする必要があります:

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

ユーザーがプログラムをどこにインストールしたかわからない場合を除いて。私のプログラムは、インストールされたファイルがどこにあるかをどのように知ることになっていますか?

あなたが気づかなかった場合に備えて、私は初心者です。

4

6 に答える 6

3

を使用Assembly.GetEntryAssembly().Locationして、実行可能ファイルのディスク上のパスをPath.GetDirectoryName取得し、そのディレクトリを取得してPath.Combineから、ディレクトリ名をそのディレクトリ内のファイル名と組み合わせることができます。そう:

StreamReader reader = new System.IO.StreamReader(Path.Combine(
    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), 
    "awesomeloadablefile.ldf"));
于 2010-07-07T13:20:57.167 に答える
1

このようなことを試してください。

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly()。Location);

于 2010-07-07T13:18:17.320 に答える
0

のようなものAssembly.GetExecutingAssembly().Locationが動作するはずです。

于 2010-07-07T13:18:55.823 に答える
0

実行可能ファイルに関連するディレクトリ構造を知っていると仮定すると、次を使用できますApplication.StartupPath

string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf");
StreamReader reader = new System.IO.StreamReader(path);
于 2010-07-07T13:21:07.587 に答える
0

これにより、exe ディレクトリへのパスが取得されます。ファイルを置くことにした場所だと思います。それ以外の場合は、インストーラーでその場所を指定できます。Visual Studio インストーラーを使用していますか?

Application.StartupPath
于 2010-07-07T13:22:07.493 に答える
0

これを試すことができます:

 File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt"); 
于 2010-07-07T13:19:29.773 に答える