2

我无法使用以下代码创建 .txt 文件。我得到一个例外如下:

未处理的异常:System.unauthorizedAccessException:对路径“C:\log.txt”的访问被拒绝。

我在网上看过并做了与api上类似的事情。下面是我的代码,所以你可以理解我的逻辑是什么。你认为是什么导致了这个异常?提前致谢!

static StreamWriter swt;
static string logFile = @"C:\log.txt";
static FileStream fs;
static void Main(string[] args)
{
    Console.Out.WriteLine(swt);
    string root =  args[0];                       
     if (!File.Exists(logFile))
     {
         try
         {
             fs = File.Create(logFile);
         }
         catch (Exception ex)
         {
             swt.WriteLine("EXCEPTION HAS BEEN THROWN:\n " + ex + "\n");
         }
         {

         }
     }
 }
4

3 回答 3

9

您很可能会收到此错误,因为标准用户在没有提升权限的情况下无法写入驱动器的根目录。见这里

于 2013-06-03T13:03:41.463 回答
2

检测文件夹权限。它必须对登录的用户具有写权限。

于 2013-06-03T13:05:34.880 回答
2

是的,这是权限错误。您没有足够的权限在 C: 驱动器中写入文件。要写入这些类型的文件夹/驱动器,您需要管理员权限。

您可以授予您的应用程序管理员权限。简单的方法是强制您的应用程序仅以管理员帐户/权限启动。为达到这个

解决方案资源管理器 -> 您的项目 -> 添加新项目(右键单击) -> 应用程序清单文件。

在此文件中更改requestedExecutionLevel

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

这些仅以管理员权限强制您的应用程序。在 Windows 8/7/Vista 上,当您启动应用程序时,它将显示 UAC(用户访问控制)对话框。

希望对你有帮助....

于 2013-06-03T13:27:21.810 回答