dotnet nuget推送用户凭据

时间:2017-06-21 20:12:05

标签: nuget .net-core dotnet-cli

我正试图通过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

2 个答案:

答案 0 :(得分:0)

这里似乎描述了这个问题: https://github.com/NuGet/Home/issues/4879并且它仍然处于打开状态。

看起来某人已经创建了修补程序:https://github.com/automotiveMastermind/condo/issues/50

答案 1 :(得分:0)

我只需将我的 nuget.config 放在与 .nupkg 文件相同的文件夹中并从该文件夹运行 dotnet nuget push 就设法让它工作。

相关问题