asp.net - Visual Studio 2015 Web 应用程序 .NET Core 与 .NET Framework

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

在 Visual Studio Enterprise 2015 (v14.0.25123.00 Update 2) 中,当我去:

开始 > 新建项目

选择目标框架 4.5 或更高版本...

在下面:

已安装
|
|--> Visual C#
|
|--> 网页

我有三个模板可供选择:

VS2015 Template Options

我对上面截图中选项 #2 和 #3 之间的区别感到困惑......

两者都说“ASP.NET Core Web 应用程序”,但一个标记为 .NET Core,而另一个标记为 .NET Framework。

据我所知,如果我正在开发一个托管在 linux 或 mac 服务器上的 Web 应用程序,并且我想访问 .NET 库,我会想要使用 .NET 版本的 Core。另一个是它是否托管在具有完整 .NET 库的 Windows 环境中?那正确吗?

如果我在上面的屏幕截图中查看与选项 #1 关联的模板,所有图标旁边都标有蓝色的“4”。

enter image description here

这似乎是将作为 ASP.NET Core Matures 逐步淘汰的旧版本 ASP.NET/MVC?

而其他两个看起来相同:

enter image description here

我想我只是对在我的情况下选择哪一个是“最好的”感到困惑......

我希望构建一个 Web 应用程序,它利用 ASP.NET MVC、MongoDB、AngularJS(对于一些已经可用的特定指令)以及一些 3rd 方 JS 和 CSS 框架。

编辑:在其他用户回复后删除“咆哮”并更新问题

在大多数教程和其他 stackoverflow 帖子中,我看到人们在他们的 Visual Studio 窗口中有“ASP.NET 5 预览模板”,但我没有。当我使用选项 #1 加载项目时,我没有 package.json、wwwroot 文件夹和其他新功能。

如果我加载选项 #2 或 #3,引用似乎不包括完整的 .NET 框架,而是只包含 .NET Core 的东西......

查看其他帖子并检查我的版本后,一切似乎都是最新的......还有什么我遗漏的吗?

谢谢你

最佳答案

有 .Net Core 和 .Net Framework。 .Net Framework 只适用于 windows 环境,而 .Net Core 是一个开源框架,可以在 windows、linux 和 ios 上运行。 .Net Core 为 Web 应用程序提供基本功能(您需要的一切,包括数据库通信),而 .Net Framework 包含与 Windows 相关的功能。

ASP.NET Web 应用程序适用于 .Net Framework 4.6.1 及更早版本,而 ASP.NET 核心 Web 应用程序适用于 .Net Core 和/或 .Net Framework 5,这就是为什么有 2 个 ASP.NET 核心 Web 应用程序的原因。

如果您的目标是跨平台,或者不确定,那么从 .NET 核心版本开始。如果您的目标是在 MS 操作系统上,则使用 .Net Framework 版本。

唯一的区别是项目内的引用,其余相同。

关于asp.net - Visual Studio 2015 Web 应用程序 .NET Core 与 .NET Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37627234/

相关文章:

c# - Angular asp.net mvc调用c# Controller 函数

asp.net-mvc - asp-net core2新的web项目问题

javascript - 无法为 Unity 设置 UnityVS/Visual Studio 工具

asp.net - 文本框 TextMode ="Email"asp.net

c# - PayPal 与我的网站集成(我已经阅读过现有帖子)

javascript - 使用 Razor 的 JavaScript 中的撇号问题

mysql - "Configure TableAdapter tbl_users failed. Specified cast is not valid."- 编辑/创建 TableAdapter 时出错?

javascript - 如何从客户端调用服务器端按钮单击功能?

c# - 通过 HTTP Get 与 REST 的 ASMX 服务

c++ - 代码覆盖错误(未检测二进制文件)