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

Отладка частных пакетов NuGet?

Я опубликовал некоторые частные/внутренние библиотеки как пакеты NuGet, используя опцию символов. Пакеты и символы размещаются во внутренней сети. Как я могу входить в эти пакеты при отладке?

Когда я перехожу к коду из этих пакетов, Visual Studio отображает страницу "Нет источника в наличии" / "Нет символов, найденных". Нажатие "Load Symbols" позволяет только файлы pdb, а не пакеты символов.

Эти пакеты не подходят для публикации в галерее NuGet/SymbolSource.

4b9b3361

Ответ 1

Какова команда, которую вы использовали для создания пакетов с символами? Я попытался сделать то же самое. nuget.exe pack -Prop Configuration=Release Framework.csproj -Symbols Это создает два файла: Framework.nupkg и Framework.symbols.nupkg. Я помещал эти файлы в общий сетевой ресурс, использовал их из другого проекта, и отладка работала нормально.

Вы пытались поместить файлы *.nupkg и *.symbols.nupkg на локальный диск вместо общего сетевого ресурса?

Ответ 2

Есть несколько вариантов; один - настроить и настроить собственный сервер символов.

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


отказ от ответственности - моя дневная работа находится на Inedo

Ответ 3

Существует также инструмент под названием GitLink (https://github.com/GitTools/GitLink), который может вставлять в ссылки файла символа на файлы версии GIT ваш источник.

Ответ 4

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

В основном это сводится к созданию пустого приложения MVC и запускается

Install-Package SymbolSource.Server.Basic

Оттуда вам нужно настроить инфраструктуру хостинга и настроить Visual Studio и создавать агенты.

Ответ 5

Как мы это делаем (и работает):

  • Создать "*.symbols.nupkg"
  • Разверните пакет символов на сервер SymbolSource (частный)
  • Настройка IDE
  • Добавить требуемую библиотеку для проекта с использованием NuGet (с нашего сервера SymbolSource)
  • Debug!

Ссылки, которые могут быть полезны:

    • Установка сервера SymbolSource

    • Важно: "Средства отладки для Windows" не будут установлены, если он обнаружит новую версию Visual С++ Redist в системе, чем она нуждается/ожидает

    • Конфигурация Vs для отладки с использованием SymbolSource

    • URL, который нужно добавить, похож на http://your.symbolsource-server.com:[port]/[appContext]/WinDbg/pdb

Ответ 6

Я обнаружил, что он вообще не работает. Ссылки на пакеты NuGet закрыты и не могут использоваться в отладчике. Вместо этого я удалил ссылку на сборку из проекта и вместо этого добавил ссылку на сборку DLL для DLL напрямую по пути.

Затем, чтобы отладчик остановился где-то в этом коде, я вставил вызов System.Diagnostics.Debugger.Break(); в этот код. При запуске отладчик останавливается на этой строке, которая в основном является определяемой кодом точкой останова. Это откроет правильный исходный файл и автоматически перейдет к этой строке.

Откройте проект библиотеки во втором экземпляре VS и передвигайтесь по вызовам Break по мере необходимости и перестройте библиотеку. Когда это будет сделано, удалите эти вызовы из кода библиотеки и восстановите исходную ссылку (возможно, потребуется переустановить пакет NuGet).