【发布时间】: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&prerelease=false
测试方法二:
Visual Studio Nuget 包管理器中存在相同的行为。仅当我选中“包括预发布”时,该软件包才可见。
【问题讨论】:
-
here 的讨论似乎表明这是一个客户端问题。您是否尝试过从 NuGet 包管理器选项中清除缓存?
-
我刚刚注意到您正在通过
nuget.pkg.github.comURL 进行测试,所以这确实表明它是服务器端的。
标签: c# github continuous-integration nuget github-actions