但是,在创建之后,项目看起来在project.json的“frameworks”部分中只列出了“dnx451”和“dnxcore50”:
"frameworks": { "dnx451": { },"dnxcore50": { } },
我试图将“dnx451”更改为“dnx46”。项目已经建好了,但当我试图运行它,我得到以下错误信息:
The current runtime target framework is not compatible with ‘…’.
Current runtime Target Framework: ‘DNX,Version=v4.5.1 (dnx451)’ Type:
CLR Architecture: x86 Version: 1.0.0-beta5
如何才能改变ASP.NET 5项目的“目标框架”?
这里是我的global.json:
{ "projects": [ "src","test","wrap" ],"sdk": { "version": "1.0.0-beta5","runtime": "clr","architecture": "x86" } }
但它并不真正重要什么是列出那里。我已经尝试过不同版本的1.0.0-beta5和最新的1.0.0-beta6
解决方法
在未来版本的VS Tooling中,我们将做更好的检测,但在那之前,对于希望定位4.5.1以上的.NET版本的Web应用程序来说,有点儿粗糙。现在,我建议只使用dnx451直到那时(如果你不依赖于.NET 4.5.2 / 4.6功能),但我会提供一些说明如何使今天的工作,如果你需要使用4.5。 2或更高。
注意:dnx452和dnx46在控制台应用程序和使用非IIS服务器(如Kestrel或WebListener)时完全支持。基本上,您可以使用本机dnx.exe启动程序启动与dnx451和dnx46工作,但其他托管环境(IIS,IIS Express)需要额外的提示启动正确的框架。
要使此工作在今天,您需要设置一个环境变量DNX_IIS_RUNTIME_FRAMEWORK到您要使用的目标框架。您可以在“调试”选项卡上的Web应用程序的“项目属性”页面中执行此操作。只需选择IIS Express概要文件并添加环境变量如下:
我们将把这个添加到Known Issues,因为它看起来像我们错过了,正如我上面说的,我们将改善VS的默认体验,所以这是不必要的:)。