我正试图通过dotnet-cli从Linux推送软件包。
我有自己的nuget服务器 - 通过包https://www.nuget.org/packages/NuGet.Server/
使用以下命令:
dotnet nuget push mypackage.nupkg
我有包源的XML配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<config>
<add key="DefaultPushSource" value="https://mynuget.azurewebsites.net/api/v2/package" />
</config>
<packageSources>
<add key="MyNuget" value="https://mynuget.azurewebsites.net/api/v2/package" />
</packageSources>
<packageSourceCredentials>
<MyNuget>
<add key="Username" value="user" />
<add key="ClearTextPassword" value="pass" />
</MyNuget>
</packageSourceCredentials>
<apikeys>
<add key="https://mynuget.azurewebsites.net/" value="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAV4A39UQG0kyF2wMV56X9wQAAAAACAAAAAAAQZgAAAAEAACAAAAABPigYqsJ8B9Vcs2e6SXGUKbqctjmrNyoUQz/6H7FSWwAAAAAOgAAAAAIAACAAAAAhm/tVYS41jbvn9NIL6IPHFSFDpBDL/fbBXzdTBSRvWRAAAACY41RYMpAJoSeSdq5paZCvQAAAADZRmyl+f4XYYnPpi1Ia9Kf0TsM6ddNXUL2sJIWXtQ6zNOliZ1IGlpU62c83v93siZp7GCRjj9fIoG6ixbK2Rxg=" />
</apikeys>
</configuration>
我得到的错误信息是:
warn : No API Key was provided and no API Key could be found for 'https://mynuget.azurewebsites.net/api/v2/package'.
To save an API Key for a source use the 'setApiKey' command.
info : Pushing mypackage.nupkg to 'https://mynuget.azurewebsites.net/api/v2/package'...
info : PUT https://mynuget.azurewebsites.net/api/v2/package/
info : Forbidden https://mynuget.azurewebsites.net/api/v2/package/ 3898ms
似乎dotnet-cli完全忽略了nuget.config?
我也无法传递--config-file
参数 - 获取错误error: Unrecognized option '--config-file'
但是根据文档应该可以:
https://github.com/dotnet/docs/blob/master/docs/core/tools/dotnet-nuget-push.md
答案 0 :(得分:0)
这里似乎描述了这个问题: https://github.com/NuGet/Home/issues/4879并且它仍然处于打开状态。
看起来某人已经创建了修补程序:https://github.com/automotiveMastermind/condo/issues/50。
答案 1 :(得分:0)
我只需将我的 nuget.config 放在与 .nupkg 文件相同的文件夹中并从该文件夹运行 dotnet nuget push 就设法让它工作。