什么保证文件写入位置可用?

Chr*_*son 5 c# .net-4.5

在本地系统上,是否有(合理)保证创建目录结构来写文件的地方?我正在寻找一个不需要管理权限进行权限更改的解决方案?

经过一番研究,我看到了这个答案,找到了当前用户的桌面文件夹.我可以使用它,但还有其他选择吗?

综合研究:

System.Environment.SpecialFolder 列举

Eri*_*ert 6

考虑使用隔离的存储类.

隔离存储为您提供与给定用户程序集关联的存储位置; 它适用于不完全信任的环境,它可以使用漫游来保持用户的数据,即使在不同的机器上也是如此.看到

http://msdn.microsoft.com/en-us/library/System.IO.IsolatedStorage.aspx

详情.


Eri*_* J. 3

事实上,特殊文件夹很特殊,因为有合理的保证它们会存在。

没有其他文件夹有这样的保证。EvenC:\不能保证(尽管它很可能出现在绝大多数 Windows 系统上)。

ApplicationData下的自定义文件夹是为给定用户写入应用程序特定数据或CommonApplicationData在系统上的所有用户之间共享应用程序数据的常见位置。

在实现漫游的环境中(用户的数据随身携带,无论登录哪个物理服务器),ApplicationData都会跟随用户。如果您不希望出现这种行为,您可以使用它LocalApplicationData来代替。

  • _合理的保证_ ...解读为:一些 IT 部门可能会做一些奇怪的事情并将其锁定到非常小的空间或无法访问 (2认同)