У меня есть фрагмент кода, который вызывает метод DeleteFile в классе Microsoft.VisualBasic.FileIO.FileSystem (в сборке Microsoft.VisualBasic) в чтобы отправить файл в Корзину вместо постоянного удаления. Этот код находится в управляемой службе Windows и работает на машине Win Server 2k8 (32-разрядная версия).Удалите файл в recyclebin в csharp с помощью метода FileSystem.DV.DeleteFile VB не работает должным образом
Соответствующая строка:
FileSystem.DeleteFile(file.FullName, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin, UICancelOption.DoNothing);
Конечно, у меня есть "используя Microsoft.VisualBasic.FileIO;" в верхней части класса, и я проверил, что вызываемый метод действительно находится в классе FileSystem в этом пространстве имен. В приведенной выше строке я ссылаюсь на локальную переменную «файл» - это FileInfo для локального файла (скажем, C: \ path \ to \ file.txt), из которого я уверен, что он существует. Приложение имеет полный доступ как к файлу, так и к каталогу, в котором он находится.
Это похоже на то, что файл исчез из каталога, в котором он находился. Однако файл не отображается в корзине. Я попытался проверить папки C: \ $ Recycle.Bin вручную, так как я подозревал, что служба Windows, работающая в сеансе 0, заставит ее оказаться в другой корзине, но все корзины выглядят пустыми.
У кого-нибудь есть ключ к тому, что вызывает такое поведение?
Кстати, машина, конечно же, не находится в свободном пространстве на рассматриваемом диске (или любой другой диск, если на то пошло), а файл очень маленький (пара килобайт, поэтому он не превышает порог корзины).
отправьте свой код. Я делал это в прошлом без проблем. – hunter
Отредактировано сообщение, чтобы содержать соответствующую строку кода и еще несколько пояснений. – Mels