Регистрация DragDrop не удалась в проекте установки - PullRequest
33 голосов
/ 17 апреля 2010

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

InstallationCore имеет окна формы для взаимодействия с пользователем. Там в формах я использую функцию перетаскивания для перетаскивания текста из дерева в текстовое поле.
Но в очереди:

txbUserName.AllowDrop = true;

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

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

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

Есть предложения?

Ответы [ 5 ]

1 голос
/ 08 сентября 2015

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

1 голос
/ 04 февраля 2015

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

trd = New Threading.Thread(AddressOf ThreadTask) 
trd.IsBackground = True
trd.SetApartmentState(ApartmentState.STA)
0 голосов
/ 12 апреля 2013

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

0 голосов
/ 03 февраля 2015

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

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

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

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

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

0 голосов
/ 11 февраля 2013

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

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