的NuGet包还原找不到包,没有源代码找不到、源代码、NuGet

2023-09-02 12:02:48 作者:深情恐惧症i

我有一个包在我的TeamCity的NuGet饲料,通过TeamCity的构建,但包在一个相关的技术合作项目无法看到它恢复。

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秒] [执行] E: TeamCity的-BuildAgent 工作 62023563850993a7 Web.nuget nuget.targets(88,9):找不到版本1.0.17.0'包'MarkLogicManager40

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

[14点05分02秒] [执行] E: TeamCity的-BuildAgent 工作 62023563850993a7 Web.nuget nuget.targets(88,9):错误MSB3073:命令E: TeamCity的-BuildAgent 工作 62023563850993a7 Web.nuget nuget.exe安装E: TeamCity的-BuildAgent 工作 62023563850993a7 ProductMvc packages.config-source-RequireConsent -solutionDirE: TeamCity的-BuildAgent 工作 62023563850993a7 网络退出,code 1。

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

请注意,在的NuGet命令行参数为空。难道这是原因?

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

推荐答案

截至今日,NuGet.targets有以下方法来指定自定义源(S):

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 (https://nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->

    <PackageSource Include="https://nuget.org/api/v2/" />
    <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="https://www.nuget.org/api/v2/" />
    <add key="MyShare" value="\MyShare" />
    <add key="MyServer" value="http://MyServer" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)"  />
  </activePackageSource>
</configuration>