我正在将一个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 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程序包管理器中存在相同的行为。仅当我选中“包括预发行版”时,该软件包才可见。
答案 0 :(得分:1)
必须在csproj的<PropertyGroup>
标签内指定一些最小属性。
<PackageId>AppLogger</PackageId>
<Version>1.0.0</Version>
<Authors>your_name</Authors>
<Company>your_company</Company>
看起来您需要PackageId,作者和公司。