Я прошел через это с Microsoft. В общем, ответ заключается в добавлении вашей выходной папки сборки в вашу переменную PATH.
Очевидно, что дизайнер в Visual Studio загружает библиотеки DLL и их зависимости. Когда он не может найти зависимость, он молча терпит неудачу, и вы получаете эти типы ошибок.
Добавление папки вывода сборки в мой PATH на самом деле не вариант, потому что я собираю несколько разных конфигураций, и все они идут в отдельные папки. Последнее, что мне нужно, чтобы столкнуться с какой-то странной проблемой, вызванной DLL, взятой из места, которое я не ожидал.
Редактировать: Извините. В спешке я должен был указать, что папка (и) для добавления в PATH - это папка (и), содержащая зависимые библиотеки DLL. В моем случае это папка вывода сборки, но это может быть не во всех случаях.
На чистом C #, похоже, нет решения. Скорее всего, вам придется прибегнуть к P / Invoke. В этой статье представлено решение на C ++ с использованием API SHFileOperation .
Единственная другая ссылка на это помимо ранее упомянутой ссылки на codeproject , которую я вижу, упоминает следующее:
Call SHGetFolderLocation pass CSIDL_BITBUCKET. Затем вы можете управлять этой папкой как обычно. Вам нужно будет создать взаимодействие для функции SHGetFolderLocation.
«CSIDL_BUCKET» - константа для виртуальной папки RecycleBin. Цитата взята из здесь и будет включать взаимодействие с оболочкой Windows. MSDN также упоминает, что эта функция устарела и заменена другой в Vista.