Как я восстанавливаю файл от корзины с помощью C#?

Я прошел через это с Microsoft. В общем, ответ заключается в добавлении вашей выходной папки сборки в вашу переменную PATH.

Очевидно, что дизайнер в Visual Studio загружает библиотеки DLL и их зависимости. Когда он не может найти зависимость, он молча терпит неудачу, и вы получаете эти типы ошибок.

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

Редактировать: Извините. В спешке я должен был указать, что папка (и) для добавления в PATH - это папка (и), содержащая зависимые библиотеки DLL. В моем случае это папка вывода сборки, но это может быть не во всех случаях.

12
задан Thaven 20 February 2012 в 14:55
поделиться

2 ответа

На чистом C #, похоже, нет решения. Скорее всего, вам придется прибегнуть к P / Invoke. В этой статье представлено решение на C ++ с использованием API SHFileOperation .

4
ответ дан 2 December 2019 в 23:31
поделиться

Единственная другая ссылка на это помимо ранее упомянутой ссылки на codeproject , которую я вижу, упоминает следующее:

Call SHGetFolderLocation pass CSIDL_BITBUCKET. Затем вы можете управлять этой папкой как обычно. Вам нужно будет создать взаимодействие для функции SHGetFolderLocation.

«CSIDL_BUCKET» - константа для виртуальной папки RecycleBin. Цитата взята из здесь и будет включать взаимодействие с оболочкой Windows. MSDN также упоминает, что эта функция устарела и заменена другой в Vista.

1
ответ дан 2 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: