Phi*_*ilo 2 c# relative-path absolute-path
我试图使用linkLabel在Windows窗体中打开一个Help.txt文件.但无法从绝对路径转换为相对路径.
首先,我尝试获取exe文件的绝对路径.哪个是成功的.其次,只获取exe文件的目录.哪个是成功的.第三,我试图将目录与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);
Run Code Online (Sandbox Code Playgroud)
我的路径的结果是 - >\Project\bin\Debug ....\Help\Help.txt
您需要使用Path.GetFullPath()将上层目录"../../"考虑在内,如下所示:
string exeFile = new System.Uri(Assembly.GetEntryAssembly().CodeBase).AbsolutePath;
string Dir = Path.GetDirectoryName(exeFile);
string path = Path.GetFullPath(Path.Combine(Dir, @"..\..\Help\Help.txt"));
System.Diagnostics.Process.Start(path);
Run Code Online (Sandbox Code Playgroud)
根据GetFullPath的MSDN :返回指定路径字符串的绝对路径.而Path.Combine将字符串组合成一个路径.
| 归档时间: |
|
| 查看次数: |
3344 次 |
| 最近记录: |