我有一个奇怪的问题:我的.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
错误的文件夹没有写入/读取权限,因此我的程序无效。
程序似乎在不同的用户下运行,但如果我检查任务管理器,则用户是已记录的用户。
对于权限很少的域用户来说,问题似乎正在发生。
答案 0 :(得分:10)
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
你创建一个要写的文本文件吗?
并且您还需要分配变量,例如:
String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
if(File.Exists(path + "filetowrite.log"))
{
......................
}
在检查文件之前,检查目录是否更加确定。我希望能帮助你。