使用C#在Mac中获取用户/共享文件夹

时间:2015-08-09 07:10:15

标签: c# macos xamarin mono

我试图获取Mac中的Users/Shared文件夹位置,以便我可以将常用用户数据(许可证)写入其中。我尝试使用

System.IO.Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData));

但是它返回了我登录的文件夹。我知道我需要将公共应用程序数据放在Application Support文件夹中,但我认为这需要root权限。如果有更好的写信给那个文件夹的方法,请建议。

更新:

我试过

File.Copy ("myfile.rtf", "Users//Shared//ll.txt"); 

但是我得到了这个例外>> Destination directory not found: Users/Shared

1 个答案:

答案 0 :(得分:1)

OS X中,目录只是/Users/Shared,而且它直接位于卷的根目录下。没有必要Environment.GetFolderPath...

如果您想拥有可由多个用户共享的用户数据或应用程序数据(读取+写入),您可能想要创建自己的目录:

/Users/Shared/MyApp

和/或您可以使用:

/Users/Shared/Library/Application Support/MyApp

这样您的应用程序就可以与所有用户共享用户数据和应用程序设置。 /Library/Application Support文件夹(不要与一个共享文件夹混淆)由系统拥有,任何需要写入的文件夹都必须获得权限。内容是只读的,即使对于管理员级用户也是如此 - 在决定存储共享应用程序数据的位置时,您需要考虑这些内容。