web-dev-qa-db-ja.com

Herokuへのドットネットコアのデプロイ

私のドットネットコアアプリケーションをHerokuにデプロイしようとしていますが、このエラーに対して実行し続けます。

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

CLIからdotnet runを使用すると(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"
}
}
14
pgruber

私はようやくこれをHerokuに正常にデプロイしました。すべて稼働しています。 Tsengはこれに大きな助けとなったので、ありがとう。使用していたビルドパックは、古いバージョンの.NET Coreをターゲットにしていました。 Herokuには、ASPNET5をターゲットとする実験的なビルドパックがあります https://github.com/heroku/dotnet-buildpack

この回答の時点で、このビルドパックはランタイム実行にMonoを使用しています。私が使用した.NET CLIを使用するプルリクエストがあり、それはうまく機能します。それはここにあります: https://github.com/noliar/dotnet-buildpack 。うまくいけば、彼らはすぐにこのプルリクエストを受け入れます。これは私が使用したビルドパックでした。

これが誰かを助けることを願っています。

13
pgruber