将内部NuGet服务器添加到TFS构建服务器?

Rya*_*ers 5 tfs tfsbuild nuget nuget-package-restore tfs2017

我们有一个私有的NuGet服务器,我的问题是TFS 2017版本无法识别内部包的NuGet服务器,显然是在未指定URL的情况下。我尝试将其放在Nuget.config中,并且可以正常工作,但是存在一些问题。

但是,我想做的是将其添加到Feed的全局列表中。我没有在服务器上安装NuGet,尽管NuGet还原是作为构建任务进行的,所以它位于c:_work_tasks \ NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b \ 0.2.21 \等目录下,并且看不到任何内容让我更改供稿集。

顺便说一句,当我将软件包源添加到nuget.config时,它似乎仅从该源下载而忽略了所有默认值,例如nuget.org等。

如何添加内部nuget服务器,以便所有本机版本都可以访问它?谢谢。

And*_*SFT 3

一般来说,您只需将提要(也添加nuget.org源)添加到NuGet.config文件中,然后签入文件即可。

(如果您使用了第三个私有NuGet服务器,那么您可以尝试使用VSTS和TFS中的包管理

例如

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove any machine-wide sources with <clear/> -->
    <clear />
    <!-- add a VSTS feed -->
    <add key="MyGreatFeed" value="https://fabrikam.pkgs.visualstudio.com/DefaultCollection/_packaging/MyGreatFeed/nuget/v3/index.json" />
    <!-- also get packages from the NuGet Gallery -->
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>
Run Code Online (Sandbox Code Playgroud)

对于这个问题:“它似乎只从该源下载并忽略了所有默认值,例如 nuget.org 等。”

确保您已正确设置NuGet.config文件并且nuget.org不排除来源。

要在构建中恢复 NuGet 包,您可以按照以下文章中提到的步骤操作:

在 Team Build 中恢复包管理 NuGet 包

  • 如果您已签入 NuGet.config,请在我的 NuGet.config 中选择 Feed ,然后从您的存储库中选择该文件。
  • 如果您使用单个 VSTS/TFS Feed,请选择“我在此处选择的 Feed”选项,然后从下拉列表中选择您的 Feed。