WindowsフォームでHelpLabelを使用してHelp.txtファイルを開こうとしています。絶対パスから相対パスに変換することはできません。相対パスを絶対パスに変換する
まず、exeファイルの絶対パスを取得しようとします。どちらが成功したのか。 次に、exeファイルのディレクトリのみを取得します。どちらが成功したのか。 第3に、Help.txtファイルの相対パスとディレクトリを結合しようとしています。どちらが失敗したか。
Exeファイルは\ Project \ bin \ Debugフォルダにありますが、Help.txtファイルは\ Project \ Helpフォルダにあります。これは私のコードです: -
string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
string Dir = Uri.UnescapeDataString(Path.GetDirectoryName(exeFile));
string path = Path.Combine(Dir, @"..\..\Help\Help.txt");
System.Diagnostics.Process.Start(path);
私のパスの結果がある - > \プロジェクト\ binに\デバッグ.... \ヘルプ\ HELP.TXT
[PathCanonicalize相当のC#]の複製の可能性があります(http://stackoverflow.com/questions/623333/pathcanonicalize-equivalent-in-c-sharp) –
または[パスと絶対パスを絶対パスで組み合わせる] ://stackoverflow.com/questions/670566/path-combine-absolute-with-relative-path-strings) –