【发布时间】:2011-09-10 05:34:30
【问题描述】:
对于我的 WPF 应用程序,我必须创建包含图像文件的文件夹,例如:C:\Pearl\Src\TEMP。稍后当不需要这些文件时,我将以编程方式删除文件夹。但我得到“访问路径''被拒绝”。我还尝试将访问权限分配给创建但没有多大用处的临时文件夹。
using System.IO;
var activeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var dInfo = Directory.GetParent(Path.GetDirectoryName(activeDir);
var dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule(@"ATSDEV\ABCD", FileSystemRights.DeleteSubdirectoriesAndFiles, AccessControlType.Allow));
dInfo.SetAccessControl(dSecurity); // Set the new access settings.
var ImageDir = Path.Combine(dInfo.ToString(), "TEMP");
System.IO.Directory.CreateDirectory(ImageDir, dSecurity);
【问题讨论】:
-
你能发布引发异常的确切行吗?似乎错误是您获取路径名的方式
-
你确定你还没有打开任何句柄(文件)吗?
-
它叫做 UAC。您根本不应该写入该目录。幸运的是,还有其他选择。
-
感谢您的回复。我有windows xp。我仍然尝试了上面的 appdata 文件夹。它仍然是一样的。现在的路径是 C:\Documents and settings\UserName\Application Data\672011115302AM
-
LoSciamano:这是抛出错误的代码: File.Delete(p_folderpath);其中 p_folderpath 是 C:\Documents and Settings\UserName\Application Data\672011115302AM