【发布时间】:2016-10-21 22:38:01
【问题描述】:
我有一个在本地编译和运行的 ASP.NET Core 应用程序。当我尝试在 Visual Studio Team Services(托管代理)上恢复 nuget 包时,会出现以下错误:
Ix-Async 1.2.5 与 .NETPlatform,Version=v5.4 不兼容。
Remotion.Linq 2.0.1 与 .NETPlatform,Version=v5.4 不兼容。
System.Collections.Immutable 1.1.36 不兼容 .NETPlatform,版本=v5.4。
某些包与 .NETPlatform,Version=v5.4 不兼容。
Ix-Async 1.2.5 与 DNXCore 不兼容,版本=v5.0。
Remotion.Linq 2.0.1 与 DNXCore 不兼容,版本=v5.0。
Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 不兼容 使用 DNXCore,版本=v5.0。
Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 不兼容 使用 DNXCore,版本=v5.0。
某些包与 DNXCore 不兼容,Version=v5.0。
System.Exception:从工具 NuGet.exe 返回的意外退出代码 1 在 Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeToolCmdlet.ProcessRecord() 在 System.Management.Automation.CommandProcessor.ProcessRecord()
失败的 VSTS 任务配置如下:
global.json 文件如下:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-rc1-update1"
}
}
还有来自 web 项目的 project.json 文件:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"AutoMapper": "4.2.1",
"Cubic.Site.Data": "1.0.0-*",
"Cubic.Site.Data.Storage": "1.0.0-*",
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.Abstractions": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Newtonsoft.Json": "8.0.3",
"StyleCop.Error.MSBuild": "1.0.0",
"StyleCop.MSBuild": "4.7.54"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"frameworks": {
"dnx451": {
"dependencies": {
}
},
"dnxcore50": { }
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
该解决方案包含 Web 应用程序和 2 个其他类库。 Site.Data project.son 文件:
{
"version": "1.0.0-*",
"description": "Site.Data Class Library",
"authors": [ "foo" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
而其他类库project.json文件内容为:
{
"version": "1.0.0-*",
"description": "Site.Data.Storage Class Library",
"authors": [ "foo" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": {
"frameworkAssemblies": {
"System.Runtime": ""
}
},
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"Cubic.Site.Data": "1.0.0-*",
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.InMemory": "7.0.0-rc1-final"
}
}
知道发生了什么吗?奇怪的是,第一次发生此错误时,配置文件、项目文件或解决方案绝对没有任何更改 - 仅修改了 ASP.NET MVC 视图。从那一刻起,我无法在 VSTS 上恢复 nuget 包。
我想知道是否在托管代理上安装了导致此错误的东西?
编辑 2016-06-21
此问题现已修复,不再出现这些错误!!!我怀疑托管代理上的一些更改可以解决此问题,也许 VSTS 的某个人可以确认这一点??
【问题讨论】:
-
您是否在本地计算机上配置了任何机器范围的 nuget 提要,但没有在构建机器或项目范围的 nuget.config 上配置?附带说明一下,您应该迁移到 RC2 和 dotnet-cli,DNX 不再维护并且已弃用
-
感谢@Tseng,我在解决方案文件夹中确实有一个
nuget.config,用于恢复VSTS 上的包。关于 DNX,我会将这些信息传递给开发人员,由他们决定是否迁移。 -
你可以尝试使用“dnu restore”来恢复包吗?
-
@Eddie-MSFT 我正在使用来自https://www.visualstudio.com/en-us/docs/release/examples/azure/aspnet-core10-azure-web-apps#code 的
Prebuild.ps1脚本。这将对src文件夹中的所有project.json文件运行dnu restore -
@Eddie-MSFT 我添加了失败的 VSTS 任务的屏幕截图(Nuget 还原)。
标签: visual-studio nuget asp.net-core azure-devops nuget-package