Teamcity 生成服务器上ASP.NET Core 2.0项目的Nuget还原失败

Teamcity 生成服务器上ASP.NET Core 2.0项目的Nuget还原失败,teamcity,windows-server-2012-r2,nuget-package-restore,.net-4.6.2,asp.net-core-2.0,Teamcity,Windows Server 2012 R2,Nuget Package Restore,.net 4.6.2,Asp.net Core 2.0,我正在尝试在Windows Server 2012R2上使用TeamCity为.NET Framework 4.6.2(不是.NET Core)构建ASP.NET Core 2.0应用程序 服务器中安装了以下组件: Microsoft.Net核心SDK-2.0.0.0 Microsoft.Net Framework(4.5.2、4.6、4.6.2) Microsoft构建工具(2013、2015、2017) Windows SDK 10.0 TeamCity使用nuget版本4.1和解决方

我正在尝试在Windows Server 2012R2上使用TeamCity为.NET Framework 4.6.2(不是.NET Core)构建ASP.NET Core 2.0应用程序

服务器中安装了以下组件:

  • Microsoft.Net核心SDK-2.0.0.0
  • Microsoft.Net Framework(4.5.2、4.6、4.6.2)
  • Microsoft构建工具(2013、2015、2017)
  • Windows SDK 10.0
TeamCity使用nuget版本4.1和解决方案文件来恢复依赖包(有关详细信息,请参阅下面的完整日志)

错误:

[22:57:51]
[22:57:51]Errors in C:\path\to\project\Server\Server.csproj
[22:57:51]    Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETFramework,Version=v4.6.2.
[22:57:51]    Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETFramework,Version=v4.6.2 (win7-x86).
[22:57:51]
[22:57:51]Errors in C:\path\to\project\Server\Server.csproj
[22:57:51]    Package Microsoft.Extensions.FileProviders.Physical 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.Extensions.FileProviders.Physical 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETCoreApp,Version=v2.0.
[22:57:51]Process exited with code 1

问题:

[22:57:51]
[22:57:51]Errors in C:\path\to\project\Server\Server.csproj
[22:57:51]    Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETFramework,Version=v4.6.2.
[22:57:51]    Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETFramework,Version=v4.6.2 (win7-x86).
[22:57:51]
[22:57:51]Errors in C:\path\to\project\Server\Server.csproj
[22:57:51]    Package Microsoft.Extensions.FileProviders.Physical 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.Extensions.FileProviders.Physical 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51]    One or more packages are incompatible with .NETCoreApp,Version=v2.0.
[22:57:51]Process exited with code 1
我认为.NET Framework 4.6.2实现了.NET标准2.0,因此我不理解为什么这些包不兼容。在我的本地机器上(使用Visual Studio 2017 Update 3(15.3))nuget restore工作正常

有没有办法解决这个错误/如何进一步分析这个问题


项目文件(包含nuget包):


使用Nuget 4.3版修复了它:)。

您使用的是从Nuget.org下载的Nuget.exe 4.3.0吗?我也有同样的问题,说所有新的AspNetCore和EntityFrameworkCore 2.0.0引用与net462不兼容,但VS2017中的nuget可以工作。我通过team city安装了nuget版本,如上所述。但我认为TeamCity是从nuget.org获得的。我在Azure DevOps(VSTS)上遇到了问题,并在恢复任务开始工作之前向作业代理添加了一个任务以获得nuget 4.3。令人困惑,因为它当然在我的机器上工作。谢谢。引用.NET4.6.1库的.NETCore2.2项目也有同样的问题。已在Azure DevOps中使用Nuget 4.4.1。升级到Nuget 4.9.3运行良好。
[Step 1/4] restore: Restoring NuGet packages for Server.sln (24s)
[22:57:27][restore] NuGet command: C:\path\to\buildagent\tools\NuGet.CommandLine.4.1.0\tools\NuGet.exe restore C:\path\to\project\Server.sln
[22:57:27][restore] Starting: C:\path\to\teamcity\temp\agentTmp\custom_script710236021428854.cmd
[22:57:27][restore] in directory: C:\path\to\project
[22:57:28][restore] MSBuild auto-detection: using msbuild version '15.3.409.57025' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin'.
[22:57:31][restore] Alle in "packages.config" aufgef�hrten Pakete sind bereits installiert.
[22:57:31][restore] Restoring packages for C:\path\to\project\Server\Server.csproj...
[22:57:31][restore] Restoring packages for C:\path\to\project\Server\Server.csproj...
[22:57:32][restore]   GET https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.web.codegeneration.tools/index.json
[22:57:32][restore]   GET https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.mvc/index.json
[22:57:32][restore]   GET https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore/index.json
[...]
[22:57:41][restore]   OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/index.json 475ms
[22:57:41][restore]   GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.0.0/microsoft.netcore.dotnetapphost.2.0.0.nupkg
[22:57:41][restore]   OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.0.0/microsoft.netcore.dotnetapphost.2.0.0.nupkg 453ms
[22:57:42][restore] Installing System.Xml.XmlSerializer 4.0.11.
[22:57:42][restore] Installing System.Threading.Overlapped 4.0.1.
[22:57:42][restore] Installing System.Security.Principal 4.0.1.
[22:57:42][restore] Installing System.Dynamic.Runtime 4.0.11.
[22:57:42][restore] Installing System.Private.DataContractSerialization 4.1.1.
[22:57:42][restore] Installing Microsoft.Win32.Registry 4.0.0.
[...]
[22:57:48][restore] Installing System.Diagnostics.Contracts 4.0.1.
[22:57:48][restore] Installing System.Threading.Tasks.Dataflow 4.6.0.
[22:57:48][restore] Installing System.IO.Pipes 4.0.0.
[22:57:51][restore] Package Microsoft.Extensions.FileProviders.Physical 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.Extensions.FileProviders.Physical 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore] Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore] One or more packages are incompatible with .NETCoreApp,Version=v2.0.
[22:57:51][restore] Committing restore...
[22:57:51][restore] Restore failed in 19,33 sec for C:\path\to\project\Server\Server.csproj.
[22:57:51][restore] 
[22:57:51][restore] Errors in C:\path\to\project\Server\Server.csproj
[22:57:51][restore]     Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore]     Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2). Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore]     One or more packages are incompatible with .NETFramework,Version=v4.6.2.
[22:57:51][restore]     Package Microsoft.AspNetCore 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore]     Package Microsoft.AspNetCore.Mvc 2.0.0 is not compatible with net462 (.NETFramework,Version=v4.6.2) / win7-x86. Package Microsoft.AspNetCore.Mvc 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore] 
[22:57:51][restore]     One or more packages are incompatible with .NETFramework,Version=v4.6.2 (win7-x86).
[22:57:51][restore] NuGet Config files used:
[22:57:51][restore] 
[22:57:51][restore]     C:\Windows\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
[22:57:51][restore] Errors in C:\path\to\project\Server\Server.csproj
[22:57:51][restore] 
[22:57:51][restore]     Package Microsoft.Extensions.FileProviders.Physical 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.Extensions.FileProviders.Physical 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore] Feeds used:
[22:57:51][restore]     https://api.nuget.org/v3/index.json
[22:57:51][restore]     Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0). Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 2.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
[22:57:51][restore]     One or more packages are incompatible with .NETCoreApp,Version=v2.0.
[22:57:51][restore] 
[22:57:51][restore] Installed:
[22:57:51][restore]     151 package(s) to C:\path\to\project\Server\Server.csproj
[22:57:51][restore] Process exited with code 1
[22:57:51][restore] Process exited with code 1
[22:57:51][Step 1/4] Step Nuget Restore (NuGet Installer) failed