繁体   English   中英

使用私有NuGet提要(VSTS CI Build),.NET Core NuGet还原失败

[英].NET Core NuGet restore fails with private NuGet feed (VSTS CI Build)

此问题涉及Visual Studio团队服务中的持续集成功能,特别是在自动构建中。

我已经设置了一个构建定义来构建我的.net核心mvc应用程序。

它使用.NET核心v1并针对.net framework 4.5.2进行编译。

我按照这里的说明操作:

https://www.visualstudio.com/en-us/docs/build/apps/aspnet/ci/build-aspnet-core

我在VSTS中设置了一个私有NuGet提要这是添加包提要源的命令:

Sources Add -Name "CiiDLFeed" -UserName "<username>" -Password "<password>" -ConfigFile $(Build.SourcesDirectory)/Nuget.config -Source https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json

我收到的错误:

错误:无法加载源https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json的服务索引。 错误:此平台的.NET Core不支持密码解密。 以下Feed使用加密密码:'CiiDLFeed'。 您可以使用明文密码作为解决方法。

为此,我在NuGet source add命令中添加了“-StorePasswordInClearText”参数:

Sources Add -Name "CiiDLFeed" -UserName "<username>" -Password "<password>" -ConfigFile $(Build.SourcesDirectory)/Nuget.config -Source https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json -StorePasswordInClearText

现在,我收到401错误:

错误:无法加载源https://mycompany.pkgs.visualstudio.com/_packaging/DLFeed/nuget/v3/index.json的服务索引。 错误:响应状态代码不表示成功:401(未授权)。

我正在使用在单独的构建定义中正确工作的相同的凭据,访问相同的nuget feed(.NET Web表单应用程序),所以它不应该给我401。

我也尝试在私有源中简单地引用库dll而不是NuGet包,但这似乎不适用于.NET Core:

.NET核心项目仅支持在此版本中引用.NET框架程序集。 要引用其他程序集,它们需要包含在NuGet包中并引用该包。

我们使用的解决方法是设置本地NuGet源,它是项目中的目录。 然后将.nupkg文件添加到其中,并在项目中引用它们。

这允许VSTS CI构建访问您的NuGet包,而无需设置远程NuGet源。

例如:

project_directory/
    ... project files ...
    my_nuget_repo/
        mypackage.nupkg

添加本地来源:

nuget sources add -Name "my_nuget_repo" -Source "<path_to_project>/my_nuget_repo"

您需要使用自己的Nuget.Config文件(可以使用PAT作为密码):

  1. 将Nuget.Config文件(包括相应的packageSource)添加到源控件
  2. 编辑您的构建定义
  3. 删除/禁用用于添加包源的命令行步骤
  4. 选择.Net Core(预览)还原步骤。

论点如下:

--configfile $(build.sourcesdirectory)/ConsoleAppCore/Nuget.Config

注意:您可以在解决方案根目录下创建或编辑NuGet.config,在project.json文件旁边并检查源代码控制,这样,您就不需要为.Net Core还原步骤指定configfile参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM