Кажется, это "по замыслу". Происходит следующее: у вас, скорее всего, есть меню Инструменты → Параметры → Отладка → Общие → Включить только мой код включен.
Как Как: разбить пользовательские необработанные исключения состояния:
Диалоговое окно Отладка → Исключения показывает дополнительный столбец (Разрыв, когда исключение не обрабатывается пользователем), когда включено «Включить только мой код».
По сути, это означает, что всякий раз, когда исключение выходит за границы вашего кода (и в этом случае оно падает до кода отражения фреймворка .NET), Visual Studio ломается, потому что считает, что исключение покинуло код пользователя. , Он не знает, что он вернется в код пользователя позже в стеке.
Таким образом, есть два обходных пути: Отключить Просто мой код в меню Инструменты → Параметры → Отладка → Общие или Снимите флажок из необработанных исключений .NET Framework пользователя в меню Отладка → Исключения диалоговое окно.