使用mono在mac上运行的c#应用程序中的文件访问问题
本文关键字:应用程序 文件 访问 问题 使用 mac 运行 mono | 更新日期: 2023-09-27 18:15:40
我开发了一个简单的。net应用程序,从web上抓取一些数据并将其保存在文件中(文件和项目exe文件在同一文件夹中)。
它在windows上运行良好,但当我在mac上使用'Mono'运行它时,我得到这个错误
访问路径'[path]'被拒绝。
我正在使用Directory.GetCurrentDirectory创建访问该文件的方法。
这里是我使用的路径:
System.IO.Directory.GetCurrentDirectory() + "''abc.csv";
你不应该使用字符串连接目录,如果你希望你的应用程序是跨平台的。
:
Directory.GetCurrentDirectory() + "''abc.csv";
:
Path.Combine(Directory.GetCurrentDirectory(), "abc.csv");
使用Path.Combine
将确保使用正确的目录分隔符。
如果您必须遍历多个目录,请重复使用Path.Combine
:
Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "mydir"), "abc.csv");
可能你在windows上使用了错误的斜杠,你会使用像"Path'to'my'file"这样的东西,但在mac上斜杠被反转为"Path/to/my/file"