Отладка C # Visual Studio DoDragDrop вызывает Win32 Exception исключение регистрации формата буфера обмена не удалось - PullRequest
0 голосов
/ 27 ноября 2018

Итак, я пытался передать типы данных Tuple в метод DoDragDrop элемента управления winforms.Это не представляется возможным.Я получаю исключение Win32, говорящее, что буфер обмена не смог зарегистрировать формат.Он отлично работает с другими типами данных, которые не являются кортежами.

Можно ли передать кортеж в объект DataObject?

Это относится как к обычным кортежам, так и к кортежам значений.

Это не происходит с каждым Tuple .... В настоящее время наблюдается следующее:

Tuple<RefType, RefType> does not work
Tuple<RefType, baseType> does work
Tuple<RefType> does work
Tuple<object, object> does work

Это, кажется, несколько специфично для моего проекта, так как в настоящее время я не могу сделать минимальный пример, который показываеттакое же поведение ...

По-видимому, это зависит от решения.Я сделал минимальный тестовый проект в решении, в котором появляется ошибка, и сделал его независимым проектом, который запускается сам по себе.Ошибка случается.Если я ссылаюсь на этот проект в другом решении и запускаю его, ошибка не возникает.

Ошибка также происходит только в режиме отладки.Если я запускаю приложение вне Visual Studio, этого не происходит.

1 Ответ

0 голосов
/ 28 ноября 2018

Оказалось, что это не имеет ничего общего с DoDragDrop или Tuples в конце.

Удаление папки .vs внутри решения устраняет ошибку.Очевидно, что-то там было неправильно настроено / сломано.Понятия не имею, что же.

Вы можете попробовать это, если столкнетесь с подобной проблемой

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