.net TeamCity构建失败,VS 2015构建成功

.net TeamCity构建失败,VS 2015构建成功,.net,teamcity,.net-core,.net,Teamcity,.net Core,我有一个项目,当内置VS时,它将成功: PM> dotnet build -f net452 Project Core.RecordingProvider (.NETFramework,Version=v4.5.2) will be compiled because expected outputs are missing Compiling Core.RecordingProvider for .NETFramework,Version=v4.5.2 Compilation succe

我有一个项目,当内置VS时,它将成功:

PM> dotnet build -f net452
Project Core.RecordingProvider (.NETFramework,Version=v4.5.2) will be compiled because expected outputs are missing
Compiling Core.RecordingProvider for .NETFramework,Version=v4.5.2

Compilation succeeded.
    0 Warning(s)
    0 Error(s)

Time elapsed 00:00:01.0807947
但是,当该项目在TeamCity建立时,它失败的原因我一点也不清楚:

[11:37:40]Step 1/4: -- Restore -- (.NET Core (dotnet)) (5s)
[11:37:40]Starting: "C:\Program Files\dotnet\dotnet.exe" restore
[11:37:40]in directory: C:\BuildAgents\Agent-5\work\e1ee23b6a628140b
[11:37:41]log  : Restoring packages for C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\Core.RecordingProvider.Tests\project.json...
[11:37:41]log  : Restoring packages for C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider.FunctionalTests\project.json...
[11:37:41]log  : Restoring packages for C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider\project.json...
[11:37:44]log  : Writing lock file to disk. Path: C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider.FunctionalTests\project.lock.json
[11:37:44]log  : C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider.FunctionalTests\project.json
[11:37:44]log  : Restore completed in 2199ms.
[11:37:44]log  : Writing lock file to disk. Path: C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\Core.RecordingProvider.Tests\project.lock.json
[11:37:44]log  : C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\Core.RecordingProvider.Tests\project.json
[11:37:44]log  : Restore completed in 2463ms.
[11:37:45]log  : Writing lock file to disk. Path: C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider\project.lock.json
[11:37:45]log  : C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider\project.json
[11:37:45]log  : Restore completed in 3556ms.
[11:37:45]Process exited with code 0
[11:37:45]Step 2/4: -- Build -- (.NET Core (dotnet)) (1s)
[11:37:45]Starting: "C:\Program Files\dotnet\dotnet.exe" build Core.RecordingProvider/src/Core.RecordingProvider --framework net452 --configuration Debug --build-profile --no-incremental
[11:37:45]in directory: C:\BuildAgents\Agent-5\work\e1ee23b6a628140b
[11:37:46]Project Core.RecordingProvider (.NETFramework,Version=v4.5.2) will be compiled because project is not safe for incremental compilation. Use --build-profile flag for more information.
[11:37:46]Compiling Core.RecordingProvider for .NETFramework,Version=v4.5.2
[11:37:46]C:\BuildAgents\Agent-5\work\e1ee23b6a628140b\Core.RecordingProvider\src\Core.RecordingProvider\project.json(8,33): error NU1001: The dependency System.Data could not be resolved.
[11:37:46]
[11:37:46]Compilation failed.
[11:37:46]    0 Warning(s)
[11:37:46]    1 Error(s)
[11:37:46]
[11:37:46]Time elapsed 00:00:00.0319611
[11:37:46]
[11:37:46]Process exited with code 1
[11:37:47]Step -- Build -- (.NET Core (dotnet)) failed
此错误是什么
NU1001:依赖关系系统。无法解析仅在使用TC构建时发生的数据
,如何解析

对谷歌长达一个多小时的研究并没有发现任何有用的东西,甚至连可能有用的东西都没有

{
    "version": "1.1.0-*",

    "dependencies": {
        "Microsoft.Azure.DocumentDB": "1.11.1",
        "WindowsAzure.Storage": "8.0.1"
    },

    "frameworks": {
        "net452" : {}
    }
}
这里是project.json,以防它被证明是有用的

{
    "version": "1.1.0-*",

    "dependencies": {
        "Microsoft.Azure.DocumentDB": "1.11.1",
        "WindowsAzure.Storage": "8.0.1"
    },

    "frameworks": {
        "net452" : {}
    }
}
谢谢

编辑以显示TC上的dotnet还原步骤
编辑2——从源代码中删除project.lock.json,然后重新生成。。更新了TC输出。答案是我的TeamCity服务器没有所有的DotNetFrameworkTargetingPack。特别是,它确实有4.0、4.5和4.6包,但缺少4.5.1、4.5.2、4.6.1和4.6.2包

我从这个网站下载了它们:

这4包是 .NET Framework 4.6.2开发包 .NET Framework 4.6.1目标包 .NET Framework 4.5.2开发包 .NET Framework 4.5.1开发包


在我安装了所有4个之后,我重新启动了TC服务器,重新运行了构建,它们运行到完成。

看起来您没有
dotnet还原
TC步骤,应该在
dotnet构建之前调用该步骤
希望这是真的,但我有它。。。我将使用更多信息进行编辑日志中有一条“
锁定文件未更改”
”消息。您是否正在将
project.lock.json
提交到repo中?如果是,请删除它并添加到.gitignore。它需要在TC实例上生成。您需要将
System.Data
作为依赖项添加到
项目中。json
否则Teamcity将不会加载它。@Set。遗憾的是,这并没有解决问题,请参见编辑2。错误还在继续。