У меня есть проект .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.
Спасибо