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

Visual Studio 2015 Web Application .NET Core vs .NET Framework

在 Visual Studio Enterprise 2015(v14.0.25123.00 更新 2)中,当我转到:

开始 > 新建项目

选择了 Target Framework 4.5 或更高版本...

下:

已安装 | |--> 视觉 C# | |--> 网页

我有三个模板可供选择:

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

两者都说 "ASP.NET Core Web Application" 但一个标记为 .NET Core 而另一个标记为 .NET Framework。

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

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

这似乎是 ASP.NET/MVC 的旧版本,随着 ASP.NET 核心成熟?

将被淘汰

而其他两个看起来完全相同:

我想我只是对在我的情况下 "best" 选择哪一个感到困惑...

我正在寻找构建一个利用 ASP.NET MVC、MongoDB、AngularJS(对于一些已经可用的特定指令)和一些第 3 方的 Web 应用程序JS 和 CSS 框架。


编辑:删除"Rant"并在其他用户回复后更新问题

在大多数教程和其他 Whosebug 帖子中,我看到人们在他们的 Visual Studio windows 中有 "ASP.NET 5 Preview Templates",但我没有。当我使用选项 #1 加载项目时,我没有 package.json、wwwroot 文件夹和其他新功能。

如果我加载选项 #2 或 #3,参考似乎不包括完整的 .NET 框架,相反,只有 .NET Core 的东西...

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

谢谢

From what I've been able to gather, if I were developing an Web Application that were to be hosted on a linux or mac server and I wanted to access the .NET library, I would want use the .NET version Core. And the other is if it's being hosted in a Windows environment with full .NET library available? Is that right?

是的,差不多。我要添加的一些内容:

  • .Net Core 可能有意义,即使您仅针对 Windows
  • 进行开发
  • .Net Core 目前处于 Release Candidate 2,这意味着它还没有完全发布

This appears to be the old version of ASP.NET/MVC that will be phased out as ASP.NET Core Matures?

我认为 "phased out" 是不正确的术语。我不确定 MS 计划如何处理 ASP.NET 4,但我希望它会进入与今天的 Winforms 和 WPF 类似的情况:您仍然可以使用它们并且它们仍然受到支持,但是非常漂亮当涉及到新功能时,很多冻结。

有.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 and/or .Net Framework 5,这就是为什么有 2 ASP.NET 个核心 Web 应用程序。

如果你的目标是跨平台,或者不确定,那就从.NET core 版本开始吧。如果您的目标是 MS OS,则使用 .Net Framework 版本。

唯一不同的是项目内的引用,其余完全相同。