gpt4 book ai didi

.net - VS 2015。为 ASP.NET 5 Web 项目设置正确的目标框架

转载 作者:行者123 更新时间:2023-12-03 07:33:23 24 4
gpt4 key购买 nike

我在 Visual Studio 2015 中创建了新的 ASP.NET 5 MVC 项目。在项目创建向导中,我选择显示 .NET Framework 4.6 的模板,然后在下一个屏幕上从 ASP 选择“Web 应用程序”。 NET 5 预览模板。

但是,创建后,该项目似乎在 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 的不同版本

最佳答案

问题是 DNX 知道您的项目以 dnx46 为目标,但 IIS 不知道:)。因此,IIS 将以 .NET 4.5.1(默认情况下)启动,并尝试加载与 4.5.1 不兼容的项目。

在 VS 工具的 future 版本中,我们将更好地检测这一点,但在此之前,对于想要针对 .NET 版本以上 4.5.1。目前,我建议在此之前仅使用 dnx451(如果您不依赖 .NET 4.5.2/4.6 功能),但我将在下面提供一些有关如何实现此功能的说明如果您需要使用 4.5.2 或更高版本。

注意:控制台应用程序以及使用 IIS 以外的服务器(例如 Kestrel 或 WebListener)时完全支持 dnx452dnx46。基本上,您可以使用 native dnx.exe Bootstrap 启动的任何内容都可以与 dnx451dnx46 配合使用,但其他托管环境(IIS、IIS Express)需要启动正确框架的附加提示。

要立即实现此功能,您需要将环境变量 DNX_IIS_RUNTIME_FRAMEWORK 设置为您要使用的目标框架。您可以在 Web 应用程序的“项目属性”页面的“调试”选项卡上执行此操作。只需选择 IIS Express 配置文件并添加环境变量,如下所示:

Launch Profile

我们将把它添加到 Known Issues 中,因为看起来我们错过了它,正如我上面所说,我们将改进 VS 中的默认体验,所以这是没有必要的:)。

关于.net - VS 2015。为 ASP.NET 5 Web 项目设置正确的目标框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com