因此,我尝试创建一个需要读取名为“scripts”的子文件夹中的脚本的应用程序。我的代码有问题:
string script = Console.ReadLine();
string path = Directory.GetCurrentDirectory();
string sciptpath = path + "/scripts/" + script;
这在 Windows 上运行良好。但在 Linux 上(使用 Mono Runtime 运行),它会转到当前用户的主目录...而不是可执行文件的目录。这是一个错误吗?有人可以提出解决方法吗?
并不是说它需要“修复”,而是当前目录不是您想象的那样。当前目录是相对路径“具有焦点”的目录。无论您的 EXE 位于何处,当前目录都可以位于其他任何位置,甚至可能在执行期间发生更改。
你想要的是:
string path = Path.GetDirectoryName(Application.ExecutablePath);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)