我将从GitHub Actions Workflow(下面列出的.yml文件)发布Nuget包到GitHub Packages。
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 Actions工作流程.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
。
测试方法1:
当我访问此URL时,如果我将prerelease=false
更改为prerelease=true
,则会列出我的软件包。
https://nuget.pkg.github.com/Operator9/query?q=MyPackageName&prerelease=false
测试方法2:
在Visual Studio Nuget Package Manager中也存在同样的行为。只有当我勾选“包括预发行版”时,软件包才可见。
nuget.pkg.github.com
URL 进行测试,这表明它是在服务器端进行的。 - peterevans