我继承了很多知识水平以外的知识,但我是这里唯一一个足够接近该知识水平的知识的人。我感觉自己很快就学会了,并且到目前为止我已经能够跳过所有障碍而无需花费太多时间,但是我只是想不通!
基本上,我们使用TFS 2015
,因为我们有一个通过远程计算机(我可以远程访问)上的代理的构建定义。因此,一位开发人员使用更新的NuGet包检入了代码(Newtonsoft.Json
),它破坏了构建。文件和所有内容都可以在本地构建,但构建机器人已损坏。
我在imgur
上有一个屏幕快照,其中包含我的构建定义中的一些上下文,并且我们使用webhook
来通过松弛链接将通知发送到错误页面,该错误页面告诉我"error: Build Not Found"
所以我很困惑,在网上找不到任何可以帮助我的东西。
编辑:
在我的构建日志中,我得到了这个错误
Error CS0246: The type or namespace name 'DataSourceRequest' could not be found (are you missing a using directive or an assembly reference?)
我所有其他分支构建工作,唯一的区别是我更新了nuget软件包。我有什么办法可以升级构建代理中的nuget软件包?
构建定义的屏幕截图:
答案 0 :(得分:0)
在Visual Studio中更新Nuget程序包后不生成内部定义
AFAIK,此问题的原因可能是您将软件包Newtonsoft.Json
升级到版本9.01
或更高版本。
从Newtonsoft.Json 9.0.1
开始,此软件包支持目标框架.NETStandard
:
https://www.nuget.org/packages/Newtonsoft.Json/9.0.1:
Visual Studio 2013 的 NuGet 2.12 支持哪些功能:
- 对VS2013的完全NetStandard和NetCoreApp支持。
因此,要解决此问题,您应确保nuget.exe版本高于2.12
,而Visual Studio版本高于2013。
此外,众所周知,Visual Studio向后兼容。意味着我们可以使用较低版本的Visual Studio开发项目,也可以在代理上使用较高版本的Visual Studio进行构建。但是,如果相反,在代理上使用较高版本进行开发,而在较低版本上进行构建,则由于兼容性,我们可能会遇到一些问题。因此,如果我们认为代理上的Visual Studio版本高于您正在开发的版本,那会更好。
希望这会有所帮助。