【问题标题】:Mixing packages from nuget.org and repository folder in VSTS在 VSTS 中混合来自 nuget.org 和存储库文件夹的包
【发布时间】:2019-01-02 10:50:36
【问题描述】:

我的解决方案从 Nuget.org 获取一些 nuget 包,其中一些在我的“lib”文件夹下的存储库中。我知道在我的存储库中包含包不是最好的选择,但现在,我坚持使用它。

在我的解决方案中,nuget.config 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="CustomSource" value="../lib" />
  </packageSources>
    <activePackageSource>
    <add key="All" value="(Aggregate source)"  />
  </activePackageSource>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
</configuration>

它在 Visual Studio 中运行良好。

在 VSTS 中,我更改了 nuget 还原任务选项:

我的构建失败如下:

nuget 命令失败,退出代码 (1) 和错误(失败 检索有关信息 来自远程源的“Microsoft.Extensions.Configuration.Abstractions” 'D:\a\1\lib'。)

包无法恢复

显然,Microsoft.Extensions.Configuration.Abstractions 应该从 nuget.org 下载。我应该改变什么,以便它尝试使用 2 个 nuget 源? 谢谢!

【问题讨论】:

  • 文件夹是否包含您的参考文献实际上 D:\a\1\lib?我猜它不是,因为构建源已下载到D:\a\1\s。您遇到了相对路径问题。
  • 在某些时候应该是正确的:2018-07-25T14:32:35.1270714Z 使用 2 个并发作业运行还原。 2018-07-25T14:32:35.1270848Z 读取项目文件 D:\a\1\s\Api\Domain.Modules.Tests\Domain.Modules.Tests.csproj。 2018-07-25T14:32:35.1270994Z 读取项目文件 D:\a\1\s\Api\src\Data.Caching\Data.Caching.csproj.. 最重要的是,我会理解它是否崩溃了“Entrprise nuget”,这里是 nuget.org 包上的崩溃...谢谢 :)
  • @DanielMann 谢谢你,你是对的,我看的方式不对,如果其中一个文件夹不存在,就会弹出错误,这就是问题所在..我不得不将源更改为 ../s/Projectname/lib"。谢谢!

标签: azure-devops nuget-package-restore


【解决方案1】:

如果您在 NuGet 还原任务中指定自己的 NuGet.config 文件,它会将指定的 NuGet.config 文件的内容保存到临时配置文件中,例如:D:\a\1\Nuget\tempNuGet_3274.config

因此,如果您使用托管代理,则应将本地提要路径指定为:

<add key="CustomSource" value="../s/Projectname/lib" />

此外,您还可以使用位于本地计算机中的private agent,以便可以从其他目录找到包。

【讨论】:

    猜你喜欢
    • 2017-01-10
    • 2019-08-16
    • 2022-01-20
    • 1970-01-01
    • 2022-11-15
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多