2

ドライブのパスをアプリケーション パスに変換するにはどうすればよいですか? 現在、ハードディスク上にファイルを作成してアクセスしています (例: "D:\MyFolder\MyDoc.doc")。コンソール アプリケーション フォルダ内にこのパスが必要です。Server.MapPathASP.NET アプリケーションに使用できることはわかっています。コンソール アプリケーションについてはどうでしょうか。

4

2 に答える 2

3

編集済み

現在のフォルダーからファイルを読み取りたい場合

System.IO.FileStream stream = System.Reflection.Assembly.GetExecutingAssembly().GetFile("filename");

またはディレクトリパスを取得したい

 string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
            var directory = System.IO.Path.GetDirectoryName(path);
            var parentdir = System.IO.Directory.GetParent(directory);
于 2012-09-27T06:13:17.490 に答える
2

パス ファイルのハードコーディングを避けるために、実行フォルダーに配置MyDoc.docすると、次を使用して実行フォルダーを取得できますDirectory.GetCurrentDirectory()

string directory = Directory.GetCurrentDirectory();
string fileName = Path.Combine(directory, "MyDoc.doc");

他の選択肢:

string path = Assembly.GetExecutingAssembly().Location;
string directory = Path.GetDirectoryName(path);

または:

string directory = AppDomain.CurrentDomain.BaseDirectory;

または:

string directory = Path.GetDirectoryName(Application.ExecutablePath);

binフォルダを取得するには:

 var bin = Directory.GetParent(directory ).Parent.FullName;
于 2012-09-27T06:16:29.963 に答える