Создан проект веб-API. NET framework 4.7.1
Точки останова работают нормально, за исключением метода WebApiConfig.Register, то есть метода, вызываемого из global.asax.
I добавлено вручную System.Diagnostics.Debugger.Break();
, как предлагается в другом ответе.
Это вызывает всплывающее окно о том, что отладчик Just In Time был запущен без необходимого разрешения безопасности. Он спрашивает, хочу ли я отладить этот процесс.
У меня есть выбор «Да, отладка w3wp.exe» или отмена.
Если я нажму yes, UA C активирует отладчик, и когда мне будет предоставлено разрешение, я получу диалог с доступными отладчиками. Мой экземпляр Visual Studio, на котором запущено приложение, не отображается в списке, однако появляются и другие экземпляры VS, которые у меня открыты. Также у меня есть возможность отладки в новом экземпляре VS.
Если я выберу отладку в новом экземпляре, то он загружает файл WebApiConfig, приостановленный на добавленной мной строке точки останова, и я могу перейти без любая проблема.
Конечно, я хотел бы не открывать новый экземпляр VS для его отладки, он должен просто отлаживать тот же экземпляр VS, на котором выполняется код, например Отладка обычно делает.
Есть идеи, что здесь неправильно настроено? VS работает от имени администратора, и это версия предприятия 2017 года. Сайт настроен для работы в Local IIS и в остальном работает отлично - другие отладчики в методах web api работают отлично, как и следовало ожидать.