'dotnet nuget push ...' 似乎没有推动符号

Val*_*alo 6 .net symbols push package nuget

dotnet clean --configuration Debug
dotnet build --configuration Debug --version-suffix beta.12
dotnet pack --include-symbols --include-source --configuration Debug --version-suffix beta.12
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利 - 上述三个命令产生了两个不错的包:xyz.2.1.2-beta.12.nupkg 和 xyz.2.1.2-beta.12.symbols.nupkg。但是当我运行最后一个命令时:

dotnet nuget push bin\Debug\ --source https://www.nuget.org
Run Code Online (Sandbox Code Playgroud)

失败并显示以下消息:

信息:将 xyz.2.1.2-beta.12.nupkg 推送到 NuGet 库 ( https://www.nuget.org )...

信息:PUT https://www.nuget.org/api/v2/package/

警告:此包仅可与 SemVer 2.0.0 兼容的 NuGet 客户端一起下载,例如 Visual Studio 2017(版本 15.3)及更高版本或 NuGet 客户端 4.3 及更高版本。有关详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=852248

信息:创建https://www.nuget.org/api/v2/package/ 1573ms

info :您的包裹已被推送。

信息:将 xyz.2.1.2-beta.12.symbols.nupkg 推送到 NuGet 库 ( https://www.nuget.org )...

信息:PUT https://www.nuget.org/api/v2/package/

信息:冲突https://www.nuget.org/api/v2/package/ 1006ms 错误:响应状态代码不表示成功:409(ID 为“xyz”且版本为“2.1.2-beta.12”的包已经存在且无法修改。)。

所以,很明显,符号包的推送失败了。这两种情况都发生了,dotnet nuget push...或者 nuget push... 似乎是什么问题?

小智 6

我刚刚遇到这个问题并在几分钟前修复了它。

Symbols 包有一种新格式,即.snupkg扩展。

如果您正在使用dotnet cli或者nuget cli您可以执行以下操作:

盒:

DOTNET 命令行界面

dotnet pack MyAwesomeLib.csproj --include-symbols -p:SymbolPackageFormat=snupkg -c release
Run Code Online (Sandbox Code Playgroud)

NUGET CLI

nuget pack MyAwesomeLib.nuspec -Symbols -SymbolPackageFormat snupkg
Run Code Online (Sandbox Code Playgroud)

发布:

DOTNET 命令行界面

 dotnet nuget push MyAwesomeLib.1.0.0.nupkg -s https://api.nuget.org/v3/index.json -k ~~your API key here~~
Run Code Online (Sandbox Code Playgroud)

NUGET CLI

nuget push MyAwesomeLib.1.0.1.nupkg -Source https://api.nuget.org/v3/index.json -apikey ~~your API key here~~
Run Code Online (Sandbox Code Playgroud)

您可以从这里阅读更多相关信息。