我正在尝试通过 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
似乎 nuget.config 被 dotnet-cli 完全忽略了?
我也无法传递 --config-file
参数 - 出现错误 error: Unrecognized option '--config-file'
但根据文档应该是可能的:
https://github.com/dotnet/docs/blob/master/docs/core/tools/dotnet-nuget-push.md
最佳答案
我设法让它工作,方法是将我的 nuget.config 放在与 .nupkg 文件相同的文件夹中,然后从该文件夹运行 dotnet nuget push。
https://stackoverflow.com/questions/44685458/
相关文章:
spring - 集成测试中的 Autowire JUnit 规则
python - Jupyter + EMR + Spark - 从本地机器上的 Jupyter n
angularjs - headless Chrome : chrome not reachable
javascript - 在传单绘制的编辑控件中分配多个功能组
python - 从 Sphinx autodoc 扩展中的文档中排除静态成员
sql - 错误 : "Connection failed: SQLState: ' 08001'