用户登录
用户注册

分享至

NuGet 包还原找不到包,没有源

  • 作者: 亖呉?盀
  • 来源: 51数据库
  • 2023-02-13

问题描述

我的 TeamCity NuGet 源中有一个包,由 TeamCity 构建,但依赖的 TC 项目在包还原期间看不到它.

I have a package on my TeamCity NuGet feed, built by TeamCity, but a dependent TC project cannot see it during package restore.

[14:05:02][Exec] E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.targets(88, 9):找不到包MarkLogicManager40"的版本1.0.17.0"'.

[14:05:02][Exec] E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.targets(88, 9): Unable to find version '1.0.17.0' of package 'MarkLogicManager40'.

[14:05:02][Exec] E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.targets(88, 9):错误 MSB3073:命令"E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.exe"安装E:TeamCity-BuildAgentwork62023563850993a7ProductMvcpackages.config"-来源"-RequireConsent -solutionDir E:TeamCity-BuildAgentwork62023563850993a7Web"以代码 1 退出.

[14:05:02][Exec] E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.targets(88, 9): error MSB3073: The command ""E:TeamCity-BuildAgentwork62023563850993a7Web.nuget uget.exe" install "E:TeamCity-BuildAgentwork62023563850993a7ProductMvcpackages.config" -source "" -RequireConsent -solutionDir "E:TeamCity-BuildAgentwork62023563850993a7Web "" exited with code 1.

请注意,NuGet 命令行中的 source 参数为空.会不会是这个原因?

Note that the source parameter in the NuGet command line is empty. Could this be the cause?

推荐答案

截至目前,NuGet.targets 有以下方式来指定自定义提要:

As of today, NuGet.targets has the following way to specify custom feed(s):

<ItemGroup Condition=" '$(PackageSources)' == '' ">
    <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%NuGetNuGet.Config will be used -->
    <!-- The official NuGet package source (http://www.51sjk.com/Upload/Articles/1/0/343/343241_20230213091938704.jpg) will be excluded if package sources are specified and it does not appear in the list -->

    <PackageSource Include="http://www.51sjk.com/Upload/Articles/1/0/343/343241_20230213091938704.jpg" />
    <PackageSource Include="\MyShare" />
    <PackageSource Include="http://MyServer/" />
</ItemGroup>

另一种选择是将 NuGet.config 放在解决方案文件旁边:

Another option is to put NuGet.config next to the solution file:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="http://www.51sjk.com/Upload/Articles/1/0/343/343241_20230213091941489.jpg" />
    <add key="MyShare" value="\MyShare" />
    <add key="MyServer" value="http://MyServer" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)"  />
  </activePackageSource>
</configuration>
软件
前端设计
程序设计
Java相关