首页 > 解决方案 > TFS 构建 .net Core 与 nuget 还原错误结束

问题描述

在尝试在 tfs 上构建 .net Code 2.2 解决方案时,有一个 nuget restore 任务。它正在尝试连接到我们的内部提要。然后它失败了。在构建日志中,我们有:

错误:无法加载源http://internalSource/index.json的服务索引。[D:\dummy.csproj]

错误:安全包 [D:\dummy.csproj] 中没有可用的凭据

查看 TFS 生成的文件,它没有使用我们在解决方案中声明的凭证。我们的 nuget.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <!-- Allow NuGet to download missing packages -->
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <clear />
    <add key="PackageSTN" value="http://internal/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <PackageSTN>
        <add key="Username" value="user" />
        <add key="Password" value="pwd" />
    </PackageSTN> 
  </packageSourceCredentials>
</configuration>

TFS 上的构建给了我们:

<configuration>
  <packageRestore>
    <add key="enabled" value="True"/>
    <add key="automatic" value="True"/>
  </packageRestore>
  <packageSources>
    <clear/>
  <add key="PackageSTN" value="http://internal/index.json"/></packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)"/>
  </activePackageSource>
    <packageSourceCredentials>       
        <PackageSTN>
            <add key="Username" value="VssSessionToken"/>
            <add key="ClearTextPassword" value="Too Big to be display"/>
        </PackageSTN>
    </packageSourceCredentials>
</configuration>

似乎它正在尝试使用某些VssSessionTokenTFS 帐户登录。

此外,我们将服务器上的 %APPDATA% nuget.config 替换为带有我们凭证的那个,以防它查看内部,也没有运气。

标签: nugettfsbuild

解决方案


TFS 构建 .net Core 与 nuget 还原错误结束

众所周知,当我们选择选项时Feeds in my NuGet.config,我们还需要提供Credentials for feeds outside this account/collection

在此处输入图像描述

如果我们使用从CredentialProvider.VSS.exeNuGet 连接窗口的“个人访问令牌”字段中获得的令牌,我们可能会遇到像您这样的问题。我们从中获得的令牌CredentialProvider.VSS.exe是一个短暂的令牌,您可以将其替换为 PAT(个人访问令牌)以检查它是否适合您。

检查此线程以获取更多详细信息。

此外,如果您使用的是旧的 nuget.exe,您可以使用该任务NuGet Tool Installer对其进行更新。

如果以上内容对您没有帮助,请分享您关于 nuget 恢复任务的构建定义以及如何为该帐户/集合之外的提要添加凭据的步骤。

希望这可以帮助。


推荐阅读