Подтвердить что ты не робот

Регистрация DragDrop не удалась в Setup Project

У нас есть проект установки в решении Visual Studio (Другие типы проектов → Настройка и развертывание → Проект установки). Этот проект имеет другой проект типа библиотеки с классом установки с именем InstallationCore, например, с выходом проекта. В действии пользователя я вызываю, чтобы установить и удалить функции установщика InstallationCore.

У InstallationCore есть формы окон для взаимодействия с пользователем. Там, в формах, я использую функцию Drag and Drop для перетаскивания текста из Tree View в текстовое поле.
Но в строке:

txbUserName.AllowDrop = true;

Я получаю ошибку отладчика JIT:

Произошло необработанное исключение
Не удалось выполнить регистрацию DragDrop
System.InvalidOperationException: регистрация DragDrop не удалась

И длинная трассировка стека после этого.
Важно сказать, что когда я запускал функцию Installer из тестового проекта, ошибка не возникала, и все работало нормально. Ошибка возникает только при запуске пакета .msi.

Любые предложения?

4b9b3361

Ответ 1

У вас есть несколько потоков, вызывающих эту проблему. Если это так, найдите их и заставьте их STA

trd = New Threading.Thread(AddressOf ThreadTask) 
trd.IsBackground = True
trd.SetApartmentState(ApartmentState.STA)

Ответ 2

Я исправил эту проблему, удалив каталог bin.

Ответ 3

Попробуйте очистить каталог BIN.

Ответ 4

Пожалуйста, удалите всю папку Obj из каталога решений и Rebuild. Помните, что не стройте только перестроить. Поскольку Build только готовит новые изменения в последней успешной сборке. Поэтому, пожалуйста, используйте опцию Re-Build.

Ответ 5

Сборка: - создавать файлы и заменять или перенастраивать все файлы, независимо от того, присутствуют ли они в папке bin или нет.

Re-Build: - Использовать существующий файл, если нет изменений.

Очистить: - Удаляет все файлы из местоположения корзины.

Рекомендуется Clean, а затем Build, если вам не нужны ссылки и сборка связанных файлов, всегда используйте повторную сборку.

Кроме того, в RUN (кнопка Windows + R) перейдите в папку "Временная папка" (введите% temp% в RUN), есть папка, связанная с файлами .NET Temporary, попробуйте удалить ее, если она не удалена затем закройте Visual Studio, а затем попробуйте удалить его. Это создается каждый раз, когда мы создаем или перестраиваем приложение, и иногда оно создает проблемы.