Continuous integration TFS生成代理nuget可从cmd工作,但在TFS上获取授权时出错

Continuous integration TFS生成代理nuget可从cmd工作,但在TFS上获取授权时出错,continuous-integration,nuget,tfs-2015,Continuous Integration,Nuget,Tfs 2015,我们已经在TFS上实现了CI流程。此CI过程的第一步是Nuget Restore 该项目具有一些依赖项,这些依赖项存储在同一TFS实例的nuget提要上。在还原过程中,出现“需要授权”错误 2017-08-22T14:45:56.9497847Z [command]d:\path\3.5.0\NuGet.exe restore -NonInteractive D:\somepath\project.sln -Verbosity Detailed 2017-08-22T14:46:03.512

我们已经在TFS上实现了CI流程。此CI过程的第一步是Nuget Restore

该项目具有一些依赖项,这些依赖项存储在同一TFS实例的nuget提要上。在还原过程中,出现“需要授权”错误

2017-08-22T14:45:56.9497847Z [command]d:\path\3.5.0\NuGet.exe restore 
-NonInteractive D:\somepath\project.sln -Verbosity Detailed
2017-08-22T14:46:03.5127467Z Error downloading 'dependency.4.1.1' from 'http://URL:80/tfs/TFSCollection/_packaging/path/dependency.4.121.1.nupkg'.
2017-08-22T14:46:03.5127467Z Response status code does not indicate success: 401 (Unauthorized).
但当我尝试从命令行在日志上显示的相同命令时。已成功安装依赖项

我已经检查过这里有一个nupkg:

我已经在同一台机器上成功地从命令行检查了以下命令的运行

d:\path\3.5.0\NuGet.exe restore 
-NonInteractive D:\somepath\project.sln -Verbosity Detailed

我们计划开一张微软的票。但是,在我看来,有一个我们看不到的简单技巧。你有这样的经验吗。为什么相同的命令可以从命令行工作,但不能从TFS工作。你知道吗

根据错误消息401 Unauthorized,应该是授权问题

请检查代理计算机上的NuGet.Config文件,通常它应该位于C:\Users\{user}\AppData\Roaming\NuGet中,确保已添加自定义源并为源设置packageSourceCredentials

有关更多信息,请参阅以下文章:

更新:

根据官方文件,您必须为自定义提要设置凭据。使用下面的命令,它将在Nuget.config文件中存储凭据。目前,没有办法不将凭据放入配置文件

使用用户名/密码:

nuget sources add -name {your feed name} -source {your feed URL} -username {your domain username} -password {your domain password}
与帕特:在上面的第二个链接中提到。有关如何生成PAT的信息,请参见

nuget.exe sources add -name {your feed name} -source {your feed URL} -username {anything} -password {your PAT}

谢谢我已经检查了文件,但还没有试过。还有一个问题;我希望使用api密钥,而不是将凭据放在配置文件中。我不喜欢将凭证放入文本文件。那么,使用“apikeys”可以吗。resource:@melih.tt“apikeys”是用于,这意味着您需要在Nuget.org站点中管理包。在自定义TFS提要中,您可以使用普通凭据或PAT。看我用了下面的命令,问题解决了。但我仍然在寻找一个解决方案,不把密码配置文件。有没有什么例子,我如何用拍子做同样的事情?用户名和密码的解决方案:>nuget sources添加-name{your feed name}-source{your feed URL}-username{your domain username}-password{your domain password}