SOには同様の質問がたくさんありますが、問題の解決策が見つかりませんでした。私がまだ .NET Core に十分に慣れていないことは明らかです... )
厳密な ASP.NET Core アプリがあり、 dnx webコマンドを使用してKestrel Web サーバーを起動しようとしていますが、アクティブなフレームワーク ターゲットが ( dnxcore50ではなく) dnx451であるように見えるため、失敗します。
私のglobal.jsonは次のようになります。
{
"projects": [ "FolderName", "src", "test" ], // What IS the actual project name?
"sdk": {
"version": "1.0.0-rc1-update2",
"runtime": "coreclr",
"architecture": "x86"
}
}
project.jsonからの抜粋:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:8000/"
},
"frameworks": {
"dnxcore50": { }
}
最後に、launchSettings.jsonで:
{
"profiles": {
"web": {
"commandName": "web",
"launchBrowser": false,
"launchUrl": "http://localhost:8000",
"environmentVariables": {
"Hosting:Environment": "Development"
},
"sdkVersion": "dnx-coreclr-win-x86.1.0.0-rc1-update2"
}
}
}
私が見る限り、project.jsonの依存関係は SDK のバージョンと一致します。
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
}
ただし、dnx webを実行すると、次のようになります。
System.InvalidOperationException: The current runtime target framework is not compatible with 'Okaymaker.Web'.
Current runtime target framework: 'DNX,Version=v4.5.1 (dnx451)'
Version: 1.0.0-rc1-16609
Type: Clr
Architecture: x86
OS Name: Windows
OS Version: 10.0
Runtime Id: win10-x86
Please make sure the runtime matches a framework specified in project.json
現在のターゲット フレームワークがdnx451であると表示される理由がわかりません。dnx webを実行する前にdnx useを実行できると思いますが、構成が設定を処理する必要があるという印象を受けましたか?
dnvm listを実行すると、次のように表示されます。
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta8 clr x64 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-beta8 clr x86 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-beta8 coreclr x64 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-beta8 coreclr x86 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-rc1-update1 clr x64 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-rc1-update1 clr x86 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-rc1-update1 coreclr x64 C:\Users\TedNyberg\.dnx\runtimes
1.0.0-rc1-update1 coreclr x86 C:\Users\TedNyberg\.dnx\runtimes
* 1.0.0-rc1-update2 clr x86 C:\Users\TedNyberg\.dnx\runtimes default
1.0.0-rc1-update2 coreclr x86 C:\Users\TedNyberg\.dnx\runtimes
編集: Visual Studio 2015 Update 3 と.NET Coreの更新されたツールをインストールすることで、これらの問題を解決/回避できるようです。どちらもhttps://www.microsoft.com/net/core#windowsで入手できます。