我们正处于从 VS2013&15/TFS2013 过渡到 VS2017/TFS2017(现场 TFS,而不是 VSTS)的过程中,第一个测试解决方案是基于 dotNet Core 1.1 的解决方案(多项目 Web 服务)。
该解决方案在原始开发人员的盒子上构建得很好,我已经从 TFS 中得到了它,它在我的盒子上也构建得很好。与我们之前的方法一致,包文件夹的内容会与项目一起检入,因为这使得包在构建箱上本地可用(无互联网)。
然而,在构建服务器上构建解决方案是一个不同的故事,因为我收到了多个以下形式的错误......
..\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
当我运行 TFS 构建定义时以及当我远程到盒子并直接通过盒子本身上的 VS 构建时,我都会收到错误。
整个 project.assets.json not find 问题似乎引起了全身的头痛。就我而言,问题是我正在尝试在 TFS 2017 构建服务器上解决它,该服务器没有也永远不会访问互联网(因为它是服务器!)。
到目前为止我看到的所有解决方案似乎都建议运行 Nuget Restore 命令,但这不起作用,因为服务器无法访问 nuget。
这还不算什么奇特的东西,只是一个简单的 TFS 2017 Build 定义,其中包含获取来源 and a 构建解决方案步。我无法理解如此简单的事情怎么变得如此困难。
更改 Nuget Package Restore 选项没有任何区别。
由于 project.assets.json 文件是在 obj 文件夹中动态生成的,因此我什至无法将它们签入以重用。任何人都可以建议一个解决方法吗,目前测试项目已陷入困境。
编辑:尝试使用使用 VS2015 创建的 4.6.1 Web 项目进行相同的过程,会产生类似的未解析引用(例如 System.Web)的结果,但不会引发相同的错误,可能是因为它是一个较旧的非核心项目。