У меня есть следующий код:
Debug.Assert(model.OrganizationId != null, "model.OrganizationId != null");
var orgId = model.OrganizationId.Value;
Однако строка Debug.Assert
неактивна, и при наведении на нее курсора появляется сообщение:
Вызов метода пропущен. Компилятор не сгенерирует метод вызов, потому что метод является условным или является частичным методом без реализация.
Моя IDE находится в режиме Debug
, и я не вижу ничего необычного. Почему это утверждение пропускается? Я не слишком беспокоюсь о том, что OrganizationId
является нулевым, так как он помечен как Required
на модели, но я обеспокоен тем, что очень нормально выглядящий Debug.Assert
пропускается.
Конфигурация настроена на отладку и отмечена опция «определить константу DEBUG». Раньше у меня была конфигурация сборки, установленная на RELEASE, но теперь все выглядит правильно для конфигурации отладки. Единственный явно определенный символ условной компиляции —
NETCOREAPP2_0
. ДругиеDebug.Assert
в порядке и не заглушены. Может быть, мне просто нужно снова перезапустить VS. Спасибо.отличный. так проблема ушла? проблема должна исчезнуть или попробуйте перезапустить визуальную студию.
Перезагрузка помогла, спасибо. Глупо с моей стороны не думать об этом, но я действительно занят тестированием, и это меня не беспокоило. Я согласился, потому что, если бы это не было просто причудой VS, ваш ответ был бы точным.