我正在运行此命令
nuget push Package.1.0.0.0.nupkg -s http://mysource.com/ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConfigFile ..\..\.nuget\nuget.config
我收到此错误
UserName: Cannot prompt for input in non-interactive mode.
我已经指定了nuget.config文件,其中包含用户名和cleartextpassword,如下所示
<packageSources>
<add key="NuGet official package source" value="http://www.nuget.org/api/v2" />
<add key="https://www.nuget.org/api/v2/" value="https://www.nuget.org/api/v2/" />
<add key="PackageName" value="http://mysource.com/nuget" />
</packageSources>
....
<packageSourceCredentials>
<PackageName>
<add key="Username" value="<username>" />
<add key="ClearTextPassword" value="<clearpassword>" />
</PackageName>
</packageSourceCredentials>
为什么这不起作用?我在VS2013中运行批处理文件我正在使用的nuget版本是,NuGet版本:2.8.50926.602
答案 0 :(得分:2)
我现在能够完成这项工作的唯一方法是基于this post from Robin Osborne。
http://mysource.com/nuget
)并使用iexplore 当然,这不是它的工作方式,但至少从你遇到的同样情况中解除了我的阻碍。将其视为一种解决方法。
答案 1 :(得分:1)
不知道这是否会有所帮助。我试图推送到我们的私人克朗代克服务器时遇到了同样的错误。我们通过使用有效的ApiKey而不是修改配置来修复此问题。
答案 2 :(得分:1)
这不是用于使用nuget.config文件,但是我在运行命令行时遇到了同样的问题PUSH ......
转到VSTS网站,然后单击“包”链接。如果您有Feed,请点击“连接到Feed”链接。如果没有,屏幕上将出现相同的链接/按钮。单击Generate NuGet credentials。复制该命令并将其粘贴到VS PM控制台窗口中。然后按照页面上的说明#3进行操作,并在VS.
内部工作答案 3 :(得分:0)
另一种可能的修复(在我的情况下有效)是您用于进行身份验证的Visual Studio Team Services帐户的个人访问令牌(PAS)已过期。默认值为90天,但您也可以选择180天或1年。
如果你不知道你在哪里这样做: