未授权访问异常c#

时间:2014-05-05 09:38:29

标签: c# access-denied unauthorizedaccessexcepti

我有这个方法

 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);
             }
         }
    }
}

当我运行它时,我得到了未经授权的访问异常,拒绝访问! 对此有任何帮助!

2 个答案:

答案 0 :(得分:3)

documentation for File.Copy:

中介绍了此例外情况
The caller does not have the required permission.
-or-
destFileName is read-only.

在第一次复制后检查文件的属性。权限是您所期望的吗?您是否需要升级程序(以管理员身份)?

答案 1 :(得分:1)

以下原因可能:

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

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

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

- 或 - 来电者没有所需的许可。

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