【问题标题】:Packages missing on TFS Build ServerTFS 构建服务器上缺少包
【发布时间】:2018-02-03 06:39:34
【问题描述】:

问题

由于“

,我的构建不断失败

C:\Program Files (x86)\MSBuild\14.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1820):无法解析此引用。找不到程序集“Newtonsoft.Json,Version=10.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed,processorArchitecture=MSIL”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。

我花了很多时间试图解决这个问题,但我一无所获。任何形式的帮助将不胜感激!

当我 RDP 进入我的构建服务器并浏览构建的包文件夹时,NewtonSoft.Json 不存在。出于某种原因,它没有被下载,但是,当我在本地计算机上构建它时,它下载得很好。

我尝试过的:

  1. 我已检查源代码管理中不存在包文件夹
  2. 我已将 nuget.exe 升级到最新版本 (4.3.0),然后降级回 3.4.4(这次升级破坏了一切)
  3. 我已删除构建服务器上的 builds 文件夹
  4. 我检查了我的 web 配置文件,其中包含:

<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <Private>True</Private> </Reference>

  1. 我检查了我的 .csproj 文件,其中包含:

<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> </dependentAssembly>

  1. 我检查了我的 NuGet.Config 文件,其中包含:

<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> <packageSources> <add key="NuGet.Org Ver 3" value="https://api.nuget.org/v3/index.json" /> <add key="NuGet official package source" value="https://nuget.org/api/v2/" /> </packageSources> <disabledPackageSources /> </configuration>

  1. 我检查了我的 packages.config 文件,其中包含:

&lt;package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" /&gt;

我正在运行 Visual Studio 2015 Update 3

构建服务器是 TFS 2013

已解决(但我不应该这样做,很不对劲) 我通过简单地将 NewtonSoft.Json 降级到 9.0.1 解决了这个问题

【问题讨论】:

  • 这里的体验完全相同,降级是唯一的解决办法。

标签: tfsbuild nuget-package-restore


【解决方案1】:

首先,您可以尝试在本地构建您的项目。如果您的本地构建成功并且只是 TFS 构建失败,则通常是由于 dll 引用问题。确保 Dll 在项目文件 (.csproj) 中被引用为相对路径。

还要根据packages.config 文件中的条目仔细检查项目中的引用。

在您的情况下,此问题可能与 VS2015 和依赖于 Newtonsoft.Json 版本 = 10.0.3 的 NuGet 包有关,请参考 user1467813 在此问题中的回答:'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多