Реализация интерфейса отладки C # в пакете nuget - PullRequest
2 голосов
/ 07 мая 2019

У меня есть 3 проекта:

  • Проект A является основным проектом (веб-приложение .NET Core)
  • Проект B - это библиотека классов в пакете NuGet, содержащая интерфейсы
  • Project C - это библиотека классов в пакете NuGet, реализующая интерфейс

Мне удалось собрать пакеты NuGet с использованием символов pbd и исходного кода.Пакеты NuGet создаются в режиме выпуска (может, это проблема?)

Я настроил мои настройки отладки следующим образом

  • Просто мой код не отмечен
  • Я загружаю символы для двух пакетов NuGet

Я могу войти во все "обычные" методы, такие как включенные методы расширения.

Но когда я достигнуинтерфейс я не могу заставить его вступить в класс, реализующий интерфейс.Но я могу перейти к коду из обычных методов из этого пакета NuGet.

Любые подсказки, если это просто невозможно, или я пропустил тиканье в настройках отладки.

1 Ответ

3 голосов
/ 07 мая 2019

Для вас может быть несколько вариантов:

  • Попробуйте собрать отладочные версии пакетов NuGet и посмотрите, поможет ли это
  • В качестве альтернативы, удалите ссылки на пакеты NuGet, а также включите и сделайте ссылку на проекты для них напрямую, хотя бы временно; это должно позволить вам отлаживать непосредственно в них.

Если ничего не работает, есть третий вариант: регистрация.

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

Многие ошибки, как правило, вызваны отсутствием значений, отсутствием ссылок или какой-либо другой неверной конфигурацией. Как только вы их найдете, исправить их может быть тривиально, но с реализациями, «спрятанными» за такими интерфейсами, найти их может быть сложно.

Найдите способ представить входные значения вашей логике, будь то запись в базу данных или просто запись простого текстового журнала в файл, и я готов поспорить, что вы сэкономите некоторое время, когда Следующая ошибка появляется, если не раньше.

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

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