Ser*_*giy 38 .net visual-studio-2015 asp.net-core
我在Visual Studio 2015中创建了新的ASP.NET 5 MVC项目.在项目创建向导中,我选择显示.NET framework 4.6的模板,然后在下一个屏幕上选择ASP.NET 5预览中的"Web应用程序"模板.
但是,在创建之后,项目似乎只在project.json的"frameworks"部分中列出了"dnx451"和"dnxcore50":
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
Run Code Online (Sandbox Code Playgroud)
我试图将"dnx451"更改为"dnx46".该项目已经很好地构建但是当我尝试运行它时,我收到以下错误消息:
当前运行时目标框架与"..."不兼容.
当前运行时目标框架:'DNX,Version = v4.5.1(dnx451)'类型:CLR架构:x86版本:1.0.0-beta5
如何更改ASP.NET 5项目的"目标框架"?
这是我的global.json现在:
{
"projects": [
"src",
"test",
"wrap"
],
"sdk": {
"version": "1.0.0-beta5",
"runtime": "clr",
"architecture": "x86"
}
}
Run Code Online (Sandbox Code Playgroud)
但那里列出的是什么并不重要.我已经尝试过不同版本的1.0.0-beta5和最新的1.0.0-beta6
And*_*rse 54
问题是DNX知道你的项目是针对的,dnx46但IIS不是:).因此,IIS从.NET 4.5.1开始(默认情况下)并尝试加载与4.5.1不兼容的项目.
在VS Tooling的未来版本中,我们将更好地检测到这一点,但在此之前,对于希望定位4.5.1 以上 .NET版本的Web应用程序来说,事情有点粗糙.目前,我建议在此dnx451之前使用(如果你不依赖于.NET 4.5.2/4.6功能),但如果你需要使用4.5.2,我将在下面提供一些如何使这项工作的说明或更高.
注:dnx452和dnx46是完全在控制台应用程序的支持,并使用IIS以外的服务器(如红隼或WebListener)时.基本上你可以使用本机dnx.exe引导程序启动的任何东西都可以使用dnx451,dnx46但是其他托管环境(IIS,IIS Express)需要额外的提示才能启动正确的框架.
要使此工作在今天,您需要将环境变量设置为DNX_IIS_RUNTIME_FRAMEWORK要使用的目标框架.您可以在"调试"选项卡上的Web应用程序的"项目属性"页面中执行此操作.只需选择IIS Express配置文件并添加环境变量,如下所示:
我们将把这个添加到已知问题中,因为看起来我们错过了它,正如我上面所说,我们将改进VS中的默认体验,所以这不是必要的:).
| 归档时间: |
|
| 查看次数: |
21825 次 |
| 最近记录: |