9

在将源设置为 TeamCity 的 NuGet 服务器时,我在 NuGet 安装构建步骤中收到以下错误:

Step 1/4: NuGet install (NuGet Installer) (3s)

[15:11:19][Step 1/4] scan: Searching for nuget.config files

[15:11:19][Step 1/4] install: Installing NuGet packages for packages.config (3s)

[15:11:19][install] NuGet command: C:\TeamCity\buildAgent\tools\NuGet.CommandLine.2.2.0.nupkg\tools\NuGet.exe install C:\TeamCity\buildAgent\work\a4b9de5be22a981\packages.config -OutputDirectory C:\TeamCity\buildAgent\work\a4b9de5be22a981\packages -Source http://localhost:9090/guestAuth/app/nuget/v1/FeedService.svc

[15:11:19][install] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script96367186180319830.cmd

[15:11:19][install] in directory: C:\TeamCity\buildAgent\work\a4b9de5be22a981

[15:11:22][install] The remote server returned an error: (404) Not Found.

[15:11:22][install] Process exited with code 1

[15:11:22][Step 1/4] Step NuGet install (NuGet Installer) failed

如果我将源字段留空,它将从默认提要(NuGet 社区提要)中找到 NuGet 包,而不是在本地构建和打包并托管在 TC 的 NuGet 提要中的包。

如何在 NuGet 安装程序构建步骤中同时使用默认提要和内部 TC 的 NuGet 提要?

4

3 回答 3

17

您可以通过nuget.config文件为解决方案指定自定义提要。

关键是提供packageSourceCredentials这样的凭据部分:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="Local" value="http://localhost:9090/httpAuth/app/nuget/v1/FeedService.svc" />
  </packageSources>
  <activePackageSource>
    <add key="Local" value="http://localhost:9090/httpAuth/app/nuget/v1/FeedService.svc" />
  </activePackageSource>
  <packageSourceCredentials>
    <Local>
      <Username>login</Username>
      <Password>pa$$w0rd</Password>
    </Local>
  </packageSourceCredentials>
</configuration>

config文件应sln位于存储库中的文件旁边。

于 2013-01-02T17:51:51.450 回答
3

这似乎是 TeamCity 的一个已知问题。解决方法建议通过命令行客户端添加包源,然后使用授权凭据更新这些源:

nuget sources add -name [name] -source [feedUrl]
nuget sources update -Name [name] -User [username] -pass [password]

据我了解,Nuget 将为将来的请求缓存这些凭据。我不知道该缓存多久被清除一次;您可能需要nget sources update在开始构建之前运行它以确保缓存是一致的。

于 2013-01-02T18:02:10.087 回答
3

我们在 TeamCity 插件中实现了经过身份验证的提要支持。请关注问题的评论 http://youtrack.jetbrains.com/issue/TW-20764

于 2013-01-11T08:29:34.400 回答