【问题标题】:Unable to build default ASP.Net Core Web Application (.NET Core) on Visual Studio Team Services using Hosted Agent无法使用托管代理在 Visual Studio Team Services 上构建默认 ASP.Net Core Web 应用程序 (.NET Core)
【发布时间】:2016-11-03 12:31:01
【问题描述】:

已在 Visual Studio 2015 Update 3 中创建了一个新的 ASP.Net Core Web 应用程序 (.Net Core) 项目并将其签入到 Visual Studio Team Services git 存储库。我正在使用 .Net Core 和 ASP.Net Core 的发布版本。

我现在正在尝试使用 VSTS 构建系统使用基于本指南的构建定义来构建它:https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure

但是,在dotnet restore 步骤中构建失败,日志如下所示(第一部分不包括在内,这是它开始失败的地方)。

我做错了什么?我是否需要以任何方式准备当前的托管代理才能使其与 ASP.Net Core 的 v1.0.0 版本一起使用?

2016-07-01T06:58:23.7437947Z log  : Restoring packages for tool 'BundlerMinifier.Core' in C:\a\1\s\src\FjordTours.BasicApp\project.json...
2016-07-01T06:58:23.7457953Z info :   GET https://api.nuget.org/v3-flatcontainer/bundlerminifier.core/index.json
2016-07-01T06:58:24.2167463Z info :   OK https://api.nuget.org/v3-flatcontainer/bundlerminifier.core/index.json 469ms
2016-07-01T06:58:24.2188952Z info :   GET https://api.nuget.org/v3-flatcontainer/bundlerminifier.core/2.0.238/bundlerminifier.core.2.0.238.nupkg
2016-07-01T06:58:24.4460947Z info :   OK https://api.nuget.org/v3-flatcontainer/bundlerminifier.core/2.0.238/bundlerminifier.core.2.0.238.nupkg 226ms
2016-07-01T06:58:24.4500936Z info :   GET https://api.nuget.org/v3-flatcontainer/nuglify/index.json
2016-07-01T06:58:24.7169172Z info :   OK https://api.nuget.org/v3-flatcontainer/nuglify/index.json 266ms
2016-07-01T06:58:24.7184197Z info :   GET https://api.nuget.org/v3-flatcontainer/nuglify/1.5.0/nuglify.1.5.0.nupkg
2016-07-01T06:58:24.9458237Z info :   OK https://api.nuget.org/v3-flatcontainer/nuglify/1.5.0/nuglify.1.5.0.nupkg 226ms
2016-07-01T06:58:25.0165432Z log  : Installing NUglify 1.5.0.
2016-07-01T06:58:25.0175433Z log  : Installing BundlerMinifier.Core 2.0.238.
2016-07-01T06:58:26.3365438Z log  : Restoring packages for tool 'Microsoft.AspNetCore.Razor.Tools' in C:\a\1\s\src\FjordTours.BasicApp\project.json...
2016-07-01T06:58:27.5785417Z error: Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 supports: netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:27.5815442Z error: Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 supports:
2016-07-01T06:58:27.5815442Z error:   - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:27.5828217Z error:   - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:27.5835753Z error: One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:27.5845450Z log  : Restoring packages for tool 'Microsoft.AspNetCore.Server.IISIntegration.Tools' in C:\a\1\s\src\FjordTours.BasicApp\project.json...
2016-07-01T06:58:27.5855447Z info :   GET https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.server.iisintegration.tools/index.json
2016-07-01T06:58:27.8429648Z info :   OK https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.server.iisintegration.tools/index.json 257ms
2016-07-01T06:58:27.8452904Z info :   GET https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.server.iisintegration.tools/1.0.0-preview2-final/microsoft.aspnetcore.server.iisintegration.tools.1.0.0-preview2-final.nupkg
2016-07-01T06:58:28.0722938Z info :   OK https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.server.iisintegration.tools/1.0.0-preview2-final/microsoft.aspnetcore.server.iisintegration.tools.1.0.0-preview2-final.nupkg 226ms
2016-07-01T06:58:28.1392401Z info :   GET https://api.nuget.org/v3-flatcontainer/microsoft.dotnet.projectmodel/index.json
2016-07-01T06:58:28.4376727Z info :   OK https://api.nuget.org/v3-flatcontainer/microsoft.dotnet.projectmodel/index.json 298ms
2016-07-01T06:58:28.4406725Z info :   GET https://api.nuget.org/v3-flatcontainer/microsoft.dotnet.projectmodel/1.0.0-rc3-003121/microsoft.dotnet.projectmodel.1.0.0-rc3-003121.nupkg
2016-07-01T06:58:28.6676393Z info :   OK https://api.nuget.org/v3-flatcontainer/microsoft.dotnet.projectmodel/1.0.0-rc3-003121/microsoft.dotnet.projectmodel.1.0.0-rc3-003121.nupkg 227ms
2016-07-01T06:58:28.6946386Z log  : Installing Microsoft.DotNet.ProjectModel 1.0.0-rc3-003121.
2016-07-01T06:58:28.6956390Z log  : Installing Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-preview2-final.
2016-07-01T06:58:32.3480344Z error: Package Microsoft.DotNet.ProjectModel 1.0.0-rc3-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel 1.0.0-rc3-003121 supports:
2016-07-01T06:58:32.3500341Z error:   - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.3500341Z error:   - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.3510431Z error: One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:32.7120347Z error: Package Microsoft.AspNetCore.Mvc 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.AspNetCore.Mvc 1.0.0 supports:
2016-07-01T06:58:32.7130338Z error:   - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.7140347Z error:   - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.7140347Z error: Package Microsoft.ApplicationInsights.AspNetCore 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.ApplicationInsights.AspNetCore 1.0.0 supports:
2016-07-01T06:58:32.7140347Z error:   - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.7150344Z error:   - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.7150344Z error: Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 supports: netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.7160344Z error: Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 supports:
2016-07-01T06:58:32.7160344Z error:   - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.7160344Z error:   - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.7174190Z error: One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:32.7174190Z info : Committing restore...
2016-07-01T06:58:32.7210345Z log  : Writing lock file to disk. Path: C:\a\1\s\src\FjordTours.BasicApp\project.lock.json
2016-07-01T06:58:32.9154998Z log  : C:\a\1\s\src\FjordTours.BasicApp\project.json
2016-07-01T06:58:32.9174999Z log  : Restore failed in 44621ms.
2016-07-01T06:58:32.9274991Z NuGet Config files used:
2016-07-01T06:58:32.9294993Z Errors in C:\a\1\s\src\FjordTours.BasicApp\project.json
2016-07-01T06:58:32.9294993Z     Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 supports: netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9305008Z     Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 supports:
2016-07-01T06:58:32.9305008Z       - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.9315007Z       - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9315007Z     One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:32.9325003Z     Package Microsoft.DotNet.ProjectModel 1.0.0-rc3-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel 1.0.0-rc3-003121 supports:
2016-07-01T06:58:32.9325003Z       - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.9325003Z       - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9335002Z     One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:32.9335002Z     Package Microsoft.AspNetCore.Mvc 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.AspNetCore.Mvc 1.0.0 supports:
2016-07-01T06:58:32.9345003Z       - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.9345003Z       - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9355002Z     Package Microsoft.ApplicationInsights.AspNetCore 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.ApplicationInsights.AspNetCore 1.0.0 supports:
2016-07-01T06:58:32.9355002Z       - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.9355002Z       - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9365007Z     Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.ProjectModel.Loader 1.0.0-preview2-003121 supports: netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9365007Z     Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.DotNet.Cli.Utils 1.0.0-preview2-003121 supports:
2016-07-01T06:58:32.9374999Z       - net451 (.NETFramework,Version=v4.5.1)
2016-07-01T06:58:32.9374999Z       - netstandard1.6 (.NETStandard,Version=v1.6)
2016-07-01T06:58:32.9385006Z     One or more packages are incompatible with .NETCoreApp,Version=v1.0.
2016-07-01T06:58:32.9385006Z     C:\Users\buildguest\AppData\Roaming\NuGet\NuGet.Config
2016-07-01T06:58:32.9385006Z     C:\ProgramData\nuget\Config\Microsoft.VisualStudio.Offline.config
2016-07-01T06:58:32.9395005Z Feeds used:
2016-07-01T06:58:32.9395005Z     https://api.nuget.org/v3/index.json
2016-07-01T06:58:32.9405006Z     C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
2016-07-01T06:58:32.9514998Z Installed:
2016-07-01T06:58:32.9525024Z     159 package(s) to C:\a\1\s\src\FjordTours.BasicApp\project.json

global.json(由 ASP.Net Core Web 应用程序 (.Net Core) 模板创建):

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

project.json(由 ASP.Net Core Web Application (.Net Core) 模板创建):

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install", "dotnet bundle" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

【问题讨论】:

  • 我确实遵循了这些说明,但使用了托管代理替代方案。我们想使用托管代理,因为我们目前没有使用本地构建代理的选项。
  • 在常规选项卡上,您添加了什么“需求”?
  • 我没有添加任何需求。我应该添加什么?由于我使用的是托管代理,因此我似乎无法添加任何要求。另外,根据上面提到的文档,需求只需要添加到自定义构建代理中,但如果我错了,请纠正我。
  • 这看起来构建系统使用的是旧版本的 .Net Core SDK。你能把它升级到 1.0 吗?
  • 自 2016 年 7 月 13 日起,VSTS 托管的构建代理已更新为包括“.NET Core 1.0 with Preview 2 Tooling”。见blogs.msdn.microsoft.com/visualstudioalm/2016/07/13/…

标签: asp.net-core azure-devops project.json dotnet-cli


【解决方案1】:

您应该像这样替换 project.json 中的“工具”部分:

    "tools": {
    "BundlerMinifier.Core": "2.1.258",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "netstandard1.6"
      ]
    },
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "netstandard1.6"
      ]
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "netstandard1.6"
      ]
    },
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8+wp8+wpa81",
        "netstandard1.6"
      ]
    }
  },

部分包需要导入netstandard1.6 但是Microsoft.VisualStudio.Web.CodeGeneration.Tools 需要netstandard1.6portable-net45+win8+wp8+wpa81

【讨论】:

  • 太好了,这帮助我摆脱了大部分错误。但是对于其他包我仍然会遇到相同的错误,其中一些在project.json 中没有明确说明,例如Microsoft.DotNet.ProjectModel.Loader。我怎样才能找到解决这些问题的方法?
  • 我也遇到了 Microsoft.DotNet.ProjectModel.Loader 的错误,但在我的情况下,按照 neodim 的回答中所述替换工具部分为我解决了这个问题。
  • 作为一个侧节点,您应该不再需要使用 preview2 导入。尝试清理缓存 (nuget.exe locals -clear all)
【解决方案2】:

我在使用 VSTS 中的托管构建代理时遇到了与 dotnet restore 相同的问题。根据@svick 的评论,我运行dotnet --version 来检查托管代理上安装的内容。到今天为止,它仍然是1.0.0-preview1-002702,而不是1.0.0-preview2-003121 的引用版本。

2016-07-04T06:17:47.5047693Z ##[warning]File name doesn't indicate a full path to a executable file.
2016-07-04T06:17:47.5057787Z Executing the following command-line. (workingFolder = C:\a\1\s)
2016-07-04T06:17:47.5057787Z dotnet --version
2016-07-04T06:17:47.5067748Z Error message highlight pattern: 
2016-07-04T06:17:47.5067748Z Warning message highlight pattern: 
2016-07-04T06:17:48.9679166Z 1.0.0-preview1-002702

托管构建代理的官方软件可以在 https://www.visualstudio.com/en-us/docs/build/agents/hosted-pool 找到。特别是,请注意它仍然显示Visual Studio 2015 Update 2。希望这会很快更新。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-02-16
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
相关资源
最近更新 更多