asp.net-mvc - DNX 与 DNX 核心

标签 asp.net-mvc visual-studio-2015 dnx

我在 VS2015 中启动了一个非常简单的“尝试一下”ASP.Net MVC(测试版)项目,但我在 DNX 和 DNX Core 引用资料上遇到了一个问题。

在此示例中,我尝试使用 DateTime.ToShortDateString() 并启用 DNX Core 的智能感知。

DNX Core Error

我知道这是因为它没有在 DNX Core 中实现,我可以围绕它包装编译器指令。

Conditional Compilation

这是正确的方法吗?两个平台之间的差异是否记录在任何地方?最后,如果我是一个全 Windows、全 IIS 的用户,那么 DNX Core 是否提供了任何功能,或者我的首要任务应该是从 project.json 文件中删除它?

最佳答案

我想唯一的答案是视情况而定。

Dnx 与 Dnx 核心

Dnx 在当今的 .NET 框架(以及 mono)之上运行,并且可以访问完整的 .NET 4.5.2(现在是 .NET 4.6)BCL。基本上,自 1.0 以来,所有内容都已添加到 .NET 中。

Dnx Core 运行在 CoreClr 之上,CoreClr 本质上是 .NET Framework 的精简版本。有些东西缺失了,有些东西由于各种原因永远不会转移到 CoreClr 上。我不知道即将发生/不会发生的具体 list 。您可以浏览corefxcoreclr github 项目看看有什么。

现在的问题实际上是关于最佳方法。您有几个选择。

如果您不打算在 CoreCLR 上运行该项目,那么您可以将其从 project.json 中一起删除。

如果您确实计划在 CoreCLR 上运行(无论出于什么原因),您可以执行一些操作。

  • 使用适合环境的通用 API 方法

    在你的情况下,如果 theDate.ToString("d")相当于 theDate.ToShortDateString()那为什么不直接使用前者呢?

  • 使用适当的编译器指令 DNX451

    对于没有实现您正在寻找的内容的环境,您可以抛出或实现您自己的版本(如果有意义的话)。

关于asp.net-mvc - DNX 与 DNX 核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654505/

相关文章:

asp.net-mvc - FineUploader 无法 POST

asp.net-mvc - Azure 每 5 分钟点击一次 Web 应用程序主页

c# - Dnx (asp.net 5) 控制台应用程序作为 Azure Web 作业连接字符串配置未找到

c# - .NET 平台标准中有哪些平台?

c# - 如何在 Linux 上将 DNX 'console app' 作为后台服务运行?

c# - .NET Core 2.2 Razor Pages 网站模板以及如何缓存 MSFT Graph 调用

c# - 在 ASP.Net MVC Core 中创建新 Controller 时,如何防止 MVC Core 添加一些不需要的包?

c++ - stringstream::seekp 在 Visual Studio 2015 上无法运行

visual-studio-2013 - 停止显示 "Unsupported .vdproj"警告

visual-studio-2015 - 如何在代理后面为 Visual Studio 配置 npm、git 和 bower