Опубликовать пакет символов * .snupkg в частной ленте в VSTS - PullRequest
0 голосов
/ 16 января 2019

Я хочу упаковать и опубликовать стандартный код .net в виде пакета nuget, используя сборку VSTS. Я создал частный фид Nuget (в артефактах VSTS), в который я хотел бы опубликовать пакет nuget вместе с пакетом символов.

Я пытался использовать задачи CLI dotnet для создания и публикации, но он публиковал только .nupkg, а не * .snupkg в ленту новостей.

Я много гуглил, но нашел только статьи, связанные с публикацией на nuget.org, а не с частным фидом.

Ответы [ 4 ]

0 голосов
/ 06 мая 2019

Возможно, вы захотите просто вставить символ PDB в основной пакет NuGet. IMO - это лучший подход сегодня - он намного проще, устраняет необходимость в сервере символов и хорошо работает со всеми типами репозиториев, частные VSTS / Azure DevOps служат для общедоступных репозиториев. Единственным недостатком является то, что клиенты должны загружать более крупные пакеты NuGet, даже если они не используют отладочную информацию, но это кажется незначительным.

Добавление PDB в пакет NuGet - это обычно просто добавление этого в файл вашего проекта:

<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

См. NuGet # 4142 и Включение файлов pdb в мои файлы nuget (nupkg) .

0 голосов
/ 16 января 2019

Артефакты Azure в настоящее время не поддерживают .snupkg s, но у него есть сервер символов, который можно опубликовать, если вы строите с использованием конвейеров Azure. Этот документ описывает настройку конвейера, который публикует символы.

0 голосов
/ 18 января 2019

Вы можете публиковать файлы snupkg в DevOps Azure, но на этом этапе вы не можете использовать их для VS с помощью VS для отладки. Вот как я это сделал:

1) настроить задачу «Использовать .Net Core» для обновления .net SDK до версии, которая поддерживает это (как показано ниже)

SDK install

2) установить пользовательскую команду пакета dotnet (как показано ниже)

pack command

3) отправьте его в Azure с помощью команды нажатия dotnet (как показано ниже)

dotnet push setup

Это приводит к выталкиванию snupkg в артефакты DevOps Azure, таким образом:

result

0 голосов
/ 16 января 2019

Опубликовать пакет символов * .snupkg в частной ленте в VSTS

Вы можете опубликовать пакет символов .snupkg на NuGet.org или на любом сервере NuGet, который использует эту возможность . Но у лазурного devops частного канала нет такого опыта.

Подробную информацию можно получить из этой вики Улучшения отладки и символов пакета NuGet :

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

Причина

Как мы знаем, когда мы потребляем .snupkg в Visual Studio, мы добавляем новое расположение сервера символов в расположении файла символов (.pdb):

enter image description here

Но Visual Studio может анализировать только файл символов ( .pdb ) напрямую, а не пакет .snupkg, поэтому нам нужен сервер NuGet, который поможет нам прочитать файл .pdb из .snupkg пакет. Фид Azure devops более склонен быть общим хранилищем пакетов.

Итак, мы должны опубликовать пакет символов * .snupkg на NuGet.org или на любом сервере NuGet, который включит эту возможность .

Если вы не хотите делиться своим пакетом на nuget.org, вы можете разместить свой собственный сервер NuGet или вы можете использовать облегченное решение для решения этой проблемы (вы можете отладка пакета nuget с приватной подачей).

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

...