C# Can';无法在我的逻辑驱动器中创建文件夹-UnauthorizedAccessException:拒绝访问

C# Can';无法在我的逻辑驱动器中创建文件夹-UnauthorizedAccessException:拒绝访问,c#,unauthorizedaccessexcepti,C#,Unauthorizedaccessexcepti,我正在尝试在逻辑驱动器中创建文件夹,但始终出现异常: UnauthorizedAccessException错误:访问被拒绝我甚至以管理员身份运行仍然相同结果我重新编写了您的代码并在我的计算机上进行了测试。这个代码对我有用;但是,您的代码也是如此,因此您必须没有对程序文件的写入权限 您应该使用Path.Combine(…)而不是手动追加字符串 System.Security.AccessControl.DirectorySecurity ds = new System.Security.Acce

我正在尝试在逻辑驱动器中创建文件夹,但始终出现异常:
UnauthorizedAccessException错误:访问被拒绝我甚至以管理员身份运行仍然相同结果

我重新编写了您的代码并在我的计算机上进行了测试。这个代码对我有用;但是,您的代码也是如此,因此您必须没有对程序文件的写入权限

您应该使用Path.Combine(…)而不是手动追加字符串

System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity();
                string useraccountForDirectoryCreate = System.Environment.UserDomainName;
                ds.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(useraccountForDirectoryCreate,
                System.Security.AccessControl.FileSystemRights.FullControl,
                        System.Security.AccessControl.InheritanceFlags.ContainerInherit |
                        System.Security.AccessControl.InheritanceFlags.ObjectInherit,
                        System.Security.AccessControl.PropagationFlags.None,
                        System.Security.AccessControl.AccessControlType.Allow));
                Directory.CreateDirectory(folder.Text,ds);
                Directory.CreateDirectory(folder.Text + "\\timetables",ds);

您使用哪个用户帐户创建文件夹?您是否有创建文件夹的权限(或在帐户下运行的应用程序)(写入权限)应用程序如何运行?您是在Windows服务、IIS下运行它,还是自己双击它来执行它?它是可执行的,我是管理员,我研究了文件权限,甚至尝试过(添加了一些新代码)提供不同类型的错误标识。发生异常。此异常通常意味着程序进程没有足够的权限。如果不显示代码,我们将无法帮助:)。很可能是您运行的帐户没有写入文件夹的权限。或者应用程序需要以管理员身份执行(UAC设置可以在您的操作系统上应用)-因此右键单击>以管理员身份运行。
var ttg = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "TimeTableGenerator");
Directory.CreateDirectory(ttg);