Невозможно войти в пакет 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>
Подробнее о добавлении исходного кода в исходные файлы отладки:
Когда решение открыто, щелкните правой кнопкой мыши Решение, выберите Свойства... Общие свойства... Отладка исходных файлов и добавьте корневой каталог источника для соответствующей двоичной ссылки:
Надеюсь это поможет.