Environment.SpecialFolder.ApplicationData返回错误文件夹
本文关键字:错误 文件夹 返回 ApplicationData SpecialFolder Environment | 更新日期: 2023-09-27 18:17:17
我有一个奇怪的问题:我的。net 4.0 WPF应用程序正在将数据保存到ApplicationData文件夹。
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "''myProgram''";
99.9%的情况下工作得很好,但在某些计算机上它返回错误的文件夹-而不是返回用户文件夹,而是返回另一个文件夹:
C:'Users'<user>'AppData'Roaming'myProgram' --correct
C:'Users's'AppData'Roaming'myProgram' --wrong
错误的文件夹没有读写权限,所以我的程序不能工作。
程序似乎在另一个用户下运行,但如果我检查任务管理器,该用户是登录的用户。
这个问题似乎发生在权限很少的域用户身上。
您是否也创建要写入的文本文件?
保存文件,如:
String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var filePath = Path.Combine(path, "filetowrite.log"); // Handles whether there is a `'` or not.
if (File.Exists(filePath))
{
......................
}
注意在做任何文件操作之前,应该检查目录是否存在