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

Подавлять сообщения RuntimeBinderException от динамических типов

Недавно я начал использовать частный сервер NuGet для управления внутренними библиотеками моей организации. Это означает, что для того, чтобы войти в наш собственный код, который находится в библиотеке, мне нужно отключить "Включить только мой код" в параметрах отладки, так как мы больше не имеем в виду проекты. Это довольно сложный MVC-проект, который использует динамические типы и ExpandoObjects в дополнение к ViewBag. Я получаю два RuntimeBinderExceptions для каждого использования динамического типа... что много. Это похоже на нормальное поведение из того, что я прочитал. Нормальным может быть, но полезным это не так.

Моя первая мысль заключалась в том, чтобы отключить это конкретное исключение в диалоговом окне Debug- > Exceptions. Исключение не существует. Я не могу понять, как можно выйти за пределы прямых ссылок на проекты, не открывая себя за этими исключениями. (И всевозможные другие низкоуровневые рамки исключений, о которых я не хочу слышать, но это самый большой преступник).

Какой лучший способ справиться с этим?

Изменить: Это проблема. Как остановить это с отключенным "Включить только мой код"?

enter image description here

4b9b3361

Ответ 1

Вы можете добавить дополнительные имена "исключений" (существующие в вашем собственном коде или других библиотеках)... до тех пор, пока вы знаете полное полное имя исключения.

Управление исключением с помощью отладчика
https://msdn.microsoft.com/en-us/library/x85tt0dd.aspx

В Visual Studio 2010

В диалоговом окне Debug | Exceptions....

введите описание изображения здесь

  • Используйте кнопку Add, чтобы добавить новое исключение в группу Common Language Runtime Exceptions и называть его Microsoft.CSharp.RuntimeBinder.RuntimeBinderException

введите описание изображения здесь

  • то просто убедитесь, что Thrown и User-Handled НЕ отмечены галочкой - таким образом, исключение первого случайного исключения игнорируется, а не ловутся отладчиком.

В Visual Studio 2017

Через панель Debug | Windows | Exception Settings...

введите описание изображения здесь

введите описание изображения здесь

  • Использовать + для добавления нового имени исключения

введите описание изображения здесь

  • убедитесь, что оно не указано