【问题标题】:GitHub Actions Workflow - Published Nuget Package Always marked as pre-releaseGitHub Actions 工作流程 - 已发布的 Nuget 包始终标记为预发布
【发布时间】:2023-03-15 17:51:01
【问题描述】:

我正在将一个 Nuget 包从 GitHub Actions 工作流(下面列出的 .yml 文件)发布到 GitHub 包。

C# 项目文件 PropertyGroup:

如下图项目的.csproj文件不包含VersionSuffix的值:

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <LangVersion>latest</LangVersion>
    <VersionPrefix>1.4.0</VersionPrefix>
    <Version>1.4.0</Version>
    <PackageVersion>1.4.0</PackageVersion>
    <VersionSuffix></VersionSuffix>
    <InformationalVersion>This is a package.</InformationalVersion>
  </PropertyGroup>

GitHub 操作工作流 .yml 文件:

name: Build, Pack, Publish

on: [push]

jobs:
  build:
    runs-on: windows-latest
    steps:

    - uses: actions/checkout@v1

    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.2.109

    - name: dotnet build
      run: dotnet build --configuration Release

    - name: Install NuGet client
      uses: warrenbuckley/Setup-Nuget@v1

    - name: Add private GitHub registry to NuGet
      run: nuget sources add -name "GPR" -Source https://nuget.pkg.github.com/Operator9/index.json -Username Operator9 -Password ${{ secrets.GITHUB_TOKEN }}

    - name: Pack
      run: dotnet pack -c Release -o out

    - name: Push generated package to GitHub registry
      run: nuget push .\out\*.nupkg -Source "GPR" -SkipDuplicate

问题:

工作流程中的所有内容都可以正常执行,但始终将包视为 prerelease

测试方法一:

当我访问这个 URL 时,我的包只有在我将 prerelease=false 更改为 prerelease=true 时才会列出

https://nuget.pkg.github.com/Operator9/query?q=MyPackageName&amp;prerelease=false

测试方法二:

Visual Studio Nuget 包管理器中存在相同的行为。仅当我选中“包括预发布”时,该软件包才可见。

【问题讨论】:

  • here 的讨论似乎表明这是一个客户端问题。您是否尝试过从 NuGet 包管理器选项中清除缓存?
  • 我刚刚注意到您正在通过nuget.pkg.github.com URL 进行测试,所以这确实表明它是服务器端的。

标签: c# github continuous-integration nuget github-actions


【解决方案1】:

您必须在 csproj 的 &lt;PropertyGroup&gt; 标记内指定一些最小属性。

<PackageId>AppLogger</PackageId>
<Version>1.0.0</Version>
<Authors>your_name</Authors>
<Company>your_company</Company>

看起来您需要 PackageId、作者和公司。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2021-04-08
    • 2021-12-20
    • 2021-10-03
    • 2022-11-02
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多