TFS 2013 Build - Newtonsoft.Json - Visual Studio 2015



更新:因此,我登录到服务器并用VS2013打开了该项目。我在解决方案上下文菜单上单击了"启用nuget包还原"。现在,它构建在服务器上。问题是,我不知道如何在VS 2015中做同样的事情。没有右键单击菜单。我已经在"选项"中启用了"允许自动恢复程序包"。-结束更新

我在Visual Studio 2015中有一个项目。我可以在本地机器上成功构建并运行它。它使用从Nuget获得的Newtonsoft.Json(Json.net(。当我签入并且我的持续集成构建在构建服务器上运行时,它会抛出一个异常,即它无法定位JSON.net程序集:

The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
C:WindowsMicrosoft.NETFramework64v4.0.30319Microsoft.Common.targets (1605): Could not resolve this reference. Could not locate the assembly "Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

我到处都看了看是什么导致了Nuget包的失败。是因为我在使用Visual Studio 2015吗?Nuget被顶起来了吗?

有人经历过这个问题吗?

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

我也有同样的错误,发现该项目在参考文献中引用了Newtonsoft.Json 4.5.1,但在packages.config中,条目如下:

<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net45" />

将packages.config中的条目更改为4.5.1而不是5.0.8解决了问题。

<package id="Newtonsoft.Json" version="4.5.1" targetFramework="net45" />

我通过检查CI构建服务器上的本地工作文件夹发现了这一点,并发现它试图从中提取.dll的位置在其中不可用;然后我追溯了一下原因。(这个问题的另一个可能原因是NuGet包被弃用。我也有一个包抛出了同样的错误。(我不确定它们是如何不同步的;这是一个最初由我继承的其他人进行的项目。

希望,即使这不能解决你的问题,这也会帮助其他人。

相关内容

  • 没有找到相关文章