gpt4 book ai didi

.net - 如何通过 VSTS Nuget feed 在 Visual Studio Team Services 托管构建代理上使用 dotnet Restore

转载 作者:行者123 更新时间:2023-12-01 19:19:29 25 4
gpt4 key购买 nike

我有一个 .Net Core 1.0 类库,它使用托管在 Visual Studio Team Services Nuget 源中的 Nuget 包。

我们使用 Visual Studio Team Services 来构建类库,并拥有一个构建定义,其中包含一个对项目执行 dotnet 恢复 的构建步骤。该命令失败并出现以下错误:

2016-06-28T13:07:09.0634265Z ##[warning]File name doesn't indicate a full path to a executable file.
2016-06-28T13:07:09.0644179Z Executing the following command-line. (workingFolder = C:\a\1\s)
2016-06-28T13:07:09.0644179Z dotnet restore
2016-06-28T13:07:09.0654186Z Error message highlight pattern:
2016-06-28T13:07:09.0654186Z Warning message highlight pattern:
2016-06-28T13:07:11.6393062Z log : Restoring packages for C:\a\1\s\src\Company.Extensions\project.json...
2016-06-28T13:07:11.7623059Z info : GET https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model'
2016-06-28T13:07:11.8463064Z info : GET https://api.nuget.org/v3-flatcontainer/Company.model/index.json
2016-06-28T13:07:12.0162954Z info : Unauthorized https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model' 254ms
2016-06-28T13:07:12.0702952Z log : Retrying 'FindPackagesByIdAsyncCore' for source 'https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model''.
2016-06-28T13:07:12.0712954Z log : Response status code does not indicate success: 401 (Unauthorized).
2016-06-28T13:07:12.0712954Z info : GET https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model'
2016-06-28T13:07:12.0722952Z info : NotFound https://api.nuget.org/v3-flatcontainer/Company.model/index.json 224ms
2016-06-28T13:07:12.1426754Z info : Unauthorized https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model' 73ms
2016-06-28T13:07:12.1436737Z log : Retrying 'FindPackagesByIdAsyncCore' for source 'https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model''.
2016-06-28T13:07:12.1436737Z log : Response status code does not indicate success: 401 (Unauthorized).
2016-06-28T13:07:12.1446974Z info : GET https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model'
2016-06-28T13:07:12.2162787Z info : Unauthorized https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model' 72ms
2016-06-28T13:07:12.2172786Z error: Failed to retrieve information from remote source 'https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model''.
2016-06-28T13:07:12.2172786Z error: Response status code does not indicate success: 401 (Unauthorized).
2016-06-28T13:07:12.2364584Z error: Failed to retrieve information from remote source 'https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2/FindPackagesById()?id='Company.Model''.
2016-06-28T13:07:12.2374607Z error: Response status code does not indicate success: 401 (Unauthorized).

显然它会失败,因为 FeedName 要求我们对其进行身份验证,这就是为什么我们在 project.json 旁边还有这个 nuget.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="FeedName" value="https://Company.pkgs.visualstudio.com/DefaultCollection/_packaging/FeedName/nuget/v2" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<FeedName>
<add key="Username" value="username" />
<add key="ClearTextPassword" value="the_actual_clear_text_password" />
</FeedName>
</configuration>

如果我们使用 Nuget Installer 构建步骤,则此方法有效,但使用 dotnet Restore 则无效。

请帮忙,这是我们继续使用 Visual Studio Team Services 构建项目所需的缺失部分。

最佳答案

详情可以引用此链接:.NET Core .

.NET Core doesn't currently support encrypted credentials. To use VSTS NuGet feeds with .NET Core applications, you'll need to specify a Personal Access Token in plain text.

关于.net - 如何通过 VSTS Nuget feed 在 Visual Studio Team Services 托管构建代理上使用 dotnet Restore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38093879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com