我有一个奇怪的问题:我的。net 4.0 WPF应用程序正在将数据保存到ApplicationData文件夹。
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\myProgram\";
99.9%的情况下工作得很好,但在某些计算机上它返回错误的文件夹-而不是返回用户文件夹,而是返回另一个文件夹:
C:Users<user>AppDataRoamingmyProgram --correct
C:UserssAppDataRoamingmyProgram --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))
{
......................
}
注意在做任何文件操作之前,应该检查目录是否存在