There are a lot of similar questions on SO, but I couldn't find a solution to my problem. It's evident I'm not familiar enough with .NET Core yet... )
I have a strict ASP.NET Core app, and I'm trying to start the Kestrel web server using the dnx web command, but it fails because it seems the active framework target is dnx451 (instead of dnxcore50).
My global.json looks like:
{
"projects": [ "FolderName", "src", "test" ], // What IS the actual project name?
"sdk": {
"version": "1.0.0-rc1-update2",
"runtime": "coreclr",
"architecture": "x86"
}
}
Excerpts from project.json:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:8000/"
},
"frameworks": {
"dnxcore50": { }
}
Any finally, in 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"
}
}
}
As far as I can see, the dependencies in project.json match the SDK version:
"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"
}
However, when I run dnx web I get the following:
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
Not sure why it says the current target framework is dnx451? I guess I can run dnx use before running dnx web, but I was under the impression that the config should handle the settings for me?
Here's what I see if I run 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
Edit: Seems these problems can be resolved/avoided by installing Visual Studio 2015 Update 3 and the updated tooling for .NET Core, both available at: https://www.microsoft.com/net/core#windows
dnx
isn't used any more, you should usedotnet
. – DavidGdnvm upgrade
, but it just downloads the RC... I'm feeling way out on thin ice right now. :) I'll begin by installing VS 2015 Update 3, just realized I haven't yet. – Ted Nyberg