.net 如何在推流时指定nuget包版本?

y0u0uwnf  于 2023-03-31  发布在  .NET
关注(0)|答案(1)|浏览(156)

我正在使用.Net Core,并试图创建一个Nuget库。
我用这个命令打包我的项目:

dotnet pack MyRepo/MyProject/MyProject.csproj -c Release

它总是在bin/Release文件夹中创建文件MyProject.1.0.0.nupkg
当我尝试使用此命令推送此包时:

dotnet nuget push MyRepo/MyProject/bin/Release/MyProject.1.0.0.nupkg --api-key ${GET_KEY_FROM_REPO} --source "mygithub"

出现以下错误:

warn : Error: Version 1.0.0 of "MyProject" has already been pushed.
Conflict https://nuget.pkg.github.com/myrepo/ 307ms
To skip already published packages, use the option --skip-duplicate
error: Response status code does not indicate success: 409 (Conflict).

我该如何避免这种情况呢?我应该每次都手动重命名软件包吗?(对我来说这似乎是一个完全可怕的想法)。
为什么它不自动版本化软件包,这样我就可以推送一个更新的版本?
我可以在VS 2022中设置它,这样它就可以在项目设置中自动添加版本到名称中吗?
谢谢!

5lhxktic

5lhxktic1#

csproj中的<Version>...</Version>属性控制生成的包版本,但是:每次都需要手动更改;你可能会发现从源代码控制中使用自动版本控制更容易,例如通过像Nerdbank.GitVersioning这样的工具。

相关问题