Невозможно войти в пакет Nuget

У меня есть общий проект, из которого я создаю и создаю пакет nuget для использования в других моих приложениях.

Процесс сборки для общего проекта создает пакет nuget, развертывает его в нашем частном репозитории Nuget и передает символы на наш внутренний сервер символов.

В моих "других приложениях", в данном конкретном случае на веб-сайте ASP.NET, я извлекаю пакет nuget из нашего репозитория, но когда я пытаюсь войти в код в этой сборке, он просто пропускает его. Я очистил свой локальный кэш символов и, как только я начинаю отладку, VS извлекает все символы с сервера символов, так что я знаю, что бит работает.

Может кто-нибудь мне помочь?

введите описание изображения здесь

1 ответ

Вам необходимо опубликовать пакет Nuget с символами и ссылаться на них с помощью символов в разделе Инструменты-> Параметры-> Отладка-> Символы.

Смотрите КАК ОТЛАДАТЬ ПАКЕТ NUGET.NET CORE?

Другие члены также задавали подобную проблему раньше:

Как отлаживать код в созданном мной пакете nuget

Обновить:

Так как вы хотите войти в код в сборке, вам все равно нужно предоставить файл исходного кода в пакете NuGet вместе с dll.

Как мы знаем:

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

В мире Microsoft символ представлен .PDB (База данных программы). Это сердце процесса отладки, потому что благодаря этим метаданным инструменты отладки могут соотнести инструкции, выполняемые в приложении, с исходным исходным кодом и предоставляют такие функции, как точка останова или средства наблюдения за переменными.

Поэтому, если вы предоставляете только файл dll и.pdb, вы все равно не входите в код, вам также нужно предоставить исходный код, а затем добавить исходный код в исходные файлы отладки для решения, которое ссылается на пакет:

Более подробно о предоставлении исходного кода:

Если вы сейчас упаковываете пакет без Nuspec, вам нужно создать Nuspec, а затем добавить pdb в список файлов в папке lib и в исходный файл в папке src. "Спецификация NuGet" может быть полезной командой для генерации начальной спецификации, как определено в документации NuGet. Ниже мой файл.nuspec, вы можете проверить его:

<?xml version="1.0"?>
  <package >
    <metadata>
     <id>MyTestPackage</id>
     <version>1.0.3</version>
     <authors>Admin</authors>
     <owners>Admin</owners>
     <requireLicenseAcceptance>false</requireLicenseAcceptance>
     <description>Package description</description>
     <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
     <copyright>Copyright 2017</copyright>
     <tags>Tag1 Tag2</tags>
   </metadata>

   <files>
     <file src="bin\Debug\MyTestPackage.dll" target="lib\Net46" />
     <file src="bin\Debug\MyTestPackage.pdb" target="lib\Net46" />
     <file src="Class1.cs" target="src" />
   </files>
</package>

Подробнее о добавлении исходного кода в исходные файлы отладки:

Когда решение открыто, щелкните правой кнопкой мыши Решение, выберите Свойства... Общие свойства... Отладка исходных файлов и добавьте корневой каталог источника для соответствующей двоичной ссылки:

Надеюсь это поможет.

Другие вопросы по тегам