Dot-Net

‘dotnet nuget push …’ 似乎沒有推動符號

  • April 17, 2020
dotnet clean --configuration Debug
dotnet build --configuration Debug --version-suffix beta.12
dotnet pack --include-symbols --include-source --configuration Debug --version-suffix beta.12

到目前為止一切順利 - 上述三個命令生成了兩個不錯的包: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

失敗並顯示以下消息:

info : 將 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 : 你的包裹被推送了。

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... 似乎是什麼問題?

我剛剛遇到這個問題並在幾分鐘前修復了它。

Symbols 包有一種新格式,即.snupkg擴展。

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

盒:

點網命令行

dotnet pack MyAwesomeLib.csproj --include-symbols -p:SymbolPackageFormat=snupkg -c release

NUGET CLI

nuget pack MyAwesomeLib.nuspec -Symbols -SymbolPackageFormat snupkg

發布:

點網命令行

dotnet nuget push MyAwesomeLib.1.0.0.nupkg -s https://api.nuget.org/v3/index.json -k ~~your API key here~~

NUGET CLI

nuget push MyAwesomeLib.1.0.1.nupkg -Source https://api.nuget.org/v3/index.json -apikey ~~your API key here~~

您可以從這裡閱讀更多相關資訊。

引用自:https://stackoverflow.com/questions/52142074