未授权访问异常c#

本文关键字:异常 访问 授权 | 更新日期: 2023-09-27 18:01:37

我有这个方法

 public void Copy(string sourcePath, string destPath)
 {
     string[] files= Directory.GetFiles(sourcePath);
     for (int i = 0; i < files.Length; i++)
     {
         try
         {
             File.Copy(files[i], destPath);
         }
         catch
         {
             try
             {
                 File.Replace(files[i], destPath, null);
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
         }
    }
}

当我运行它时,我得到未经授权的访问异常,访问被拒绝!

未授权访问异常c#

该异常在File的文档中有介绍。复制:

The caller does not have the required permission.
-or-
destFileName is read-only.

检查第一次拷贝后的文件属性。权限是您所期望的吗?您是否需要程序以高架(以管理员身份)运行?

以下原因可能:

sourceFileName或destinationFileName参数指定只读文件。

——-当前平台不支持此操作。

——-源或目标参数指定一个目录,而不是一个文件。

——-呼叫方没有所需的权限。

阅读链接:http://msdn.microsoft.com/en-us/library/9etk7xw2(v=vs.110).aspx

当问题出现在Windows机器上时,请确保您已禁用"受控文件夹访问"&;在应用程序Windows-Safety或允许文件夹访问您的程序。(必须有管理员权限)