Подтвердить что ты не робот

Развертывание ядра dotnet для Heroku

Я пытаюсь развернуть мое приложение ядра dotnet в Heroku, но продолжаю работать против этой ошибки:

Restore failed
unknown keyword platform
 !     Push rejected, failed to compile Web app app.
 !     Push failed

Когда я использую dotnet run из CLI (я нахожусь на mac), все работает нормально. Я включил свой Project.json ниже, если это помогает:

{
  "dependencies": {
  "Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
  },
  "Microsoft.AspNetCore.Mvc": "1.0.0",
  "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
  "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
  "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
  "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
  "Microsoft.Extensions.Configuration.Json": "1.0.0",
  "Microsoft.Extensions.Configuration.CommandLine": "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.EntityFrameworkCore.Sqlite": "1.0.0",
  "Microsoft.EntityFrameworkCore.Design": {
    "version": "1.0.0-preview2-final",
    "type": "build" 
  }
},

"tools": {
  "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-     final",
  "Microsoft.EntityFrameworkCore.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"
  ]
},

"tooling": {
  "defaultNamespace": "Tokens_monolith"
}
}
4b9b3361

Ответ 1

Наконец-то я получил это успешно развернутое в Heroku, все это работает. Ценг оказал огромную помощь в этом, поэтому спасибо. Мой buildpack, который я использовал, предназначался для более старой версии .NET Core. У Heroku есть экспериментальный buildpack, ориентированный на ASPNET5 здесь: https://github.com/heroku/dotnet-buildpack.

По состоянию на время этого ответа этот buildpack использует Mono для выполнения во время выполнения. Существует запрос на перенос для использования .NET CLI, который я использовал, и он отлично работает. Его можно найти здесь: https://github.com/noliar/dotnet-buildpack. Надеюсь, они вскоре примут этот запрос на тягу. Это был buildpack, который я использовал.

Надеюсь, это поможет кому-то.