От VS2010 в Windows 7 с использованием Directory.Delete (путь) от отладчика VS - PullRequest
3 голосов
/ 30 апреля 2011

Из VS2010 в Windows 7, используя Directory.Delete (путь) из отладчика VS.У меня есть полные права администратора на моей машине.

Я в основном запустил

Directory.Delete(path)

Мало того, что он не удалял папки, но теперь, когда я пытаюсь пойти и удалить их вручную, я получаю

enter image description here

Независимо от того, что я делаю, это не позволит мне удалить путь больше.Если моя программа пытается удалить его, я получаю исключение UnathorizedAccessException.

Что здесь происходит?

РЕДАКТИРОВАТЬ :

Я пытался удалить изПроводник Windows и из командной строки работает как администратор.На самом деле я не вижу, что еще можно сделать.

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Привет, если вы пытаетесь удалить папку из приложения, вот фрагмент кода, который позволяет очистить все атрибуты файловой системы, а затем удалить файл. фрагмент кода не мой, я взял его откуда-то еще, но не могу вспомнить, где.

  private static void DeleteFileSystemInfo(FileSystemInfo fsi)
    {
        fsi.Attributes = FileAttributes.Normal;
        var di = fsi as DirectoryInfo;
        if (di != null)
        {
            foreach (var dirInfo in di.GetFileSystemInfos())
                DeleteFileSystemInfo(dirInfo);
        }
        fsi.Delete();
    }
1 голос
/ 30 апреля 2011

Запустите эту команду в cmd:

attrib "MyFolder" -R -A -S -H

Возможно, вы случайно отметили папку как системную папку в вашем приложении.Также попробуйте перезагрузить компьютер после этого.Также вы можете щелкнуть правой кнопкой мыши папку и перейти на вкладку «Безопасность / Права» и посмотреть, есть ли у вас (администратора) все права на эту папку (попробуйте пометить все поля).Иногда они зашифровываются во время файловых операций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...