TFS Build Server

时间:2017-08-25 08:42:02

标签: tfsbuild tfs2013 nuget-package-restore

问题

由于"

,我的版本仍然失败
  

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"。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。

我已经花了很多时间尝试对此进行窃听,而且我已经空白了。任何形式的帮助都将受到高度赞赏!

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

我尝试过:

  1. 我检查过源代码管理中没有包文件夹
  2. 我已将nuget.exe升级到最新版本(4.3.0),然后降级回3.4.4(此次升级打破了所有内容)
  3. 我删除了构建服务器上的builds文件夹
  4. 我检查过我的网络配置文件:
  5. <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文件:
    2. <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文件:
      2. <?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文件,其中包含:
        2. <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />

          我正在运行Visual Studio 2015 Update 3

          构建服务器是TFS 2013

          解决了(但我不应该这样做,有些事情是非常错误的) 我通过简单地将NewtonSoft.Json降级到9.0.1来解决它。

1 个答案:

答案 0 :(得分:0)

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

并且还要仔细检查项目中的引用与packages.config文件中的条目。

在您的情况下,此问题可能与VS2015和依赖于Newtonsoft.Json版本= 10.0.3的NuGet包有关,请参阅此问题中 user1467813 的答案:{{3} }