使用mono在mac上运行的C#应用​​程序中的文件访问问题

时间:2011-11-24 09:41:47

标签: c# mono

我开发了一个简单的.net应用程序,它从Web上抓取一些数据并将其保存在一个文件中(文件和proejct exe文件在同一个文件夹中)。

它在Windows上运行正常,但是当我使用'Mono'在Mac上运行时,我收到此错误

  

拒绝访问路径'[path]'。

我正在使用Directory.GetCurrentDirectory创建访问此文件。

这是我正在使用的路径:

 System.IO.Directory.GetCurrentDirectory() + "\\abc.csv";

2 个答案:

答案 0 :(得分:4)

您不应该使用字符串连接目录,而不是您希望应用程序跨平台。

<强> BAD

Directory.GetCurrentDirectory() + "\\abc.csv";

不可

Path.Combine(Directory.GetCurrentDirectory(), "abc.csv");

使用Path.Combine将确保使用正确的目录分隔符。

如果您必须遍历几个目录,请反复使用Path.Combine

Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "mydir"), "abc.csv");

答案 1 :(得分:1)

可能你在Windows上使用了错误的斜杠,你会使用类似“Path \ to \ my \ file”的东西,但在mac上,斜杠反转为“Path / to / my / file”