Как легко отлаживать внутренние пакеты Nuget из Azure Devops - PullRequest
3 голосов
/ 24 июня 2019

Я работаю в компании, где у нас есть монолитное приложение, и я хочу разделить его на более мелкие веб-службы / службы Windows / веб-сайты и т. Д.

Я хочу быть «умным» и повторно использовать содержащиеся в них библиотеки.в монолите, поместив их в свои собственные библиотеки классов и создав для них пакет NUGET при сборке, используя Devops Azure (хотя и не полностью привязанный к этому инструменту).

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

До сих пор сторона CI создала одну из моих библиотек классов, иопубликуйте увеличенный номер версии в канале Nuget, к которому я могу подключиться через VS.

Проблема в том, что я не могу понять, как отлаживать эти пакеты Nuget , как если бы мы все еще отлаживалив монолите - и мы все очень привыкли к возможности отладки по всему сквозному запросу -> ответ.

Я думаю, что по сути хочу

  • Размещать пакет nuget
  • Может ли он быть собран в вариантах DEBUG или RELEASE (выпуск при публикации, отладка во времяразвитие)
  • Легко войдите в библиотеку, используя полный исходный код и возможности наблюдения за переменными, как если бы мы все еще были в монолитном дизайне

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

Единственное, что мне удалось найти в Интернете, это кто-то, кто активно копирует пакеты nuget локально на свою машину,строит их в отладке и перетаскивает pdb-файлы, что доставляет больше хлопот, чем стоит, и заставляет меня просто «придерживаться монолитного дизайна».

1 Ответ

0 голосов
/ 24 июня 2019

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

Однако, если вы просто имеете в виду использование отладчика Visual Studio и возможность переходить к методам, тогда вы можете использовать задачу Azure DevOps Pipelines для публикации символов . Обратите внимание, что это отличается от использования пакета символов или snupkg, как если бы вы публиковали символы на nuget.org. Задача DevOps Azure просто копирует *.pdb непосредственно на их сервер символов. Каждому разработчику также необходимо один раз настроить VS для использования сервера символов.

...