在发布配置中生成Nuget程序包时,带有Symbol Server的Azure DevOps SourceLink不起作用

时间:2019-04-29 07:49:44

标签: azure-devops nuget nuget-package symbol-server sourcelink

我有一个.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文件推送到Symbol Server,并且通过 Debug,我设法使Source Link与Azure DevOps Symbol Server一起使用仅用于构建配置。

问题是我不希望在调试模式下生成Nuget包中的DLL。我希望他们成为发布。但是,当我在dotnet pack文本框中将Release任务更改为使用Configuration to package时,Source Link将不再起作用。

有没有一种方法可以生成带有Release DLL的Nuget包?并仍然让Source Link与Symbol Server一起工作?

如果这是唯一的方法,我不介意将.nuspec文件与Nuget CLI一起使用,但是我不想在Nuget软件包中包含.pdb文件

谢谢

0 个答案:

没有答案