dotnet 使用 SourceLink 将 NuGet 链接源代码到 GitHub 等仓库

在发布 CBB 作为 NuGet 包的时候,我期望开发者在使用我的库进行调试,可以自动链接代码到对应打包的 GitHub 上的代码,可以从本地拿到对应的源代码进行调试。这样的调试方式对于开源项目来说,将会很方便

使用方法很简单,通过 SourceLink 就能做到。这个 SourceLink 是一系列的库,包含了给 Azure Devops 使用的和给 GitHub 使用的,给 Gitlab 使用的等

假定我现在是使用 GitHub 作为我的开源仓库,尝试我期望在 GitHub 的 Action 进行自动构建的时候,打包的 NuGet 包可以链接到本次打包的 commit 的代码,那么只需要安装 Microsoft.SourceLink.GitHub 库,同时额外添加一些配置就可以

打开 csproj 文件,添加以下代码

    <!-- 在 GitHub 的 Action 构建会添加 GITHUB_ACTIONS 变量 -->
    <PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
        <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
        <!-- Optional: Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
        <PublishRepositoryUrl>true</PublishRepositoryUrl>

        <!-- 只有在 GitHub 的 Action 构建才能使用源代码链接 -->
        <!-- 源代码链接需要使用 commit 号,而在 GitHub 的 Action 构建的 commit 才是对的 -->
        <!-- 本地构建,也许没有记得 commit 就构建,此时的 nuget 包的源代码是不对的,上传上去会让调试诡异 -->
        <!-- Optional: Embed source files that are not tracked by the source control manager in the PDB -->
        <EmbedUntrackedSources>true</EmbedUntrackedSources>

        <!-- 本地等不需要创建符号文件 -->
        <!-- Optional: Build symbol package (.snupkg) to distribute the PDB containing Source Link -->
        <IncludeSymbols>true</IncludeSymbols>
        <SymbolPackageFormat>snupkg</SymbolPackageForm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值