使用C#创建目录时拒绝访问

SOF*_*ser 0 .net c# directory file-permissions

string windowsDirectory = Environment.GetEnvironmentVariable("ProgramFiles");
string mydirecoty = windowsDirectory + "\\" + "NetServices\\";

if (!Directory.Exists(mydirecoty))
  {
    Directory.CreateDirectory(mydirecoty); //Access to the path 'C:\Program Files (x86)\NetServices\' is denied.
  }
Run Code Online (Sandbox Code Playgroud)

在没有管理员帐户的情况下运行.net应用程序时抛出异常.如果我尝试在其他C:\驱动器中创建目录,就好像D:\它运行正常.

我想在Program Files/ Windows文件夹中创建目录的解决方案是什么?

mar*_*c_s 5

C:\program files文件夹在Vista和Windows 7(以及Windows Server 2008/2008 R2)中受到保护(按设计) - 普通用户帐户没有任何权限在那里创建目录 - 它是一个系统文件夹.

您需要以管理员身份运行- 然后您有权在受保护的系统文件夹中创建目录 - 或者您在别处创建目录而不是在受保护的系统文件夹中.第二种选择是推荐和首选方案.