DevOps Azure SourceLink и Symbol Server с выпуском DLL в пакете Nuget - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть проект .NET Standard 2.0 TestSouceLink со следующей конфигурацией в .csproj:

<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    <Authors>Jérôme MEVEL</Authors>
    <Description>Just a test package for SourceLink</Description>
    <Version>1.1.1</Version>

    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <DebugType>full</DebugType>
    <DebugSymbols>true</DebugSymbols>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.SourceLink.Vsts.Git" Version="1.0.0-beta2-18618-05">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
</ItemGroup>

У нас есть сервер Azure DevOps, который генерирует наши пакеты Nuget в конвейерах сборки.

В конце я добавил задачу Publish symbols path, чтобы отправить файлы .pdb на сервер символов, и мне удалось заставить Source Link работать вместе с сервером символов Azure DevOps с сборкой Debug только конфигурация.

Проблема в том, что я не хочу, чтобы мои библиотеки DLL в пакетах Nuget генерировались в режиме отладки. Я хочу, чтобы они были Release . Но когда я изменяю задачу dotnet pack на использование Release в текстовом поле Configuration to package, ссылка на источник больше не работает.

Есть ли способ сгенерировать пакет Nuget с Release DLL внутри? и все еще иметь Source Link, работающую с Symbol Server?

Я не против использовать файл .nuspec вместе с Nuget CLI, если это единственный способ, однако я не хочу включать файлы .pdb в пакеты Nuget.

Спасибо

...