исключение несанкционированного доступа С#

у меня есть этот метод

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

когда я запускаю его, я получаю исключение несанкционированного доступа, доступ запрещен! любую помощь в этом!


person Ateeq    schedule 05.05.2014    source источник
comment
Запустите вашу программу от имени администратора.   -  person Tarec    schedule 05.05.2014
comment
возможный дубликат исключения несанкционированного доступа в Windows 7   -  person Tim    schedule 05.05.2014
comment
возможно, у вас нет доступа для записи к пути назначения, как говорится в сообщении об ошибке   -  person BigM    schedule 05.05.2014


Ответы (2)


Это исключение описано в документации для File.Copy:

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

Проверьте атрибуты файла после первой копии. Являются ли разрешения теми, что вы ожидаете? Вам нужно, чтобы ваша программа работала с повышенными правами (от имени администратора)?

person Dhaval Patel    schedule 05.05.2014

ниже причины могут быть возможны:

Параметр sourceFileName или destinationFileName указывает файл, доступный только для чтения.

-или- Эта операция не поддерживается на текущей платформе.

-или- Параметры источника или назначения указывают каталог вместо файла.

-или- Вызывающий объект не имеет необходимого разрешения.

Ссылка для чтения: http://msdn.microsoft.com/en-us/library/9etk7xw2%28v=vs.110%29.aspx

person Kumar Manish    schedule 05.05.2014