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

26
在Visual Studio Enterprise 2015(v14.0.25123.00 Update 2)中,当我前往以下位置时:
开始 > 新建项目
选择目标框架为4.5或更高版本...
在以下位置下:
已安装 | |--> Visual C# | |--> Web
我有三个可供选择的模板:

VS2015 Template Options

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

两者都标为“ASP.NET Core Web Application”,但一个标为.NET Core,另一个标为.NET Framework。

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

如果我查看与上图选项#1相关联的模板,则所有图标都带有小蓝色“4”标记。

enter image description here

这似乎是即将被淘汰的旧版ASP.NET/MVC,随着ASP.NET Core的成熟,它将逐渐退出舞台?

而其他两个则完全相同:

enter image description here

我想我只是不确定在我的情况下选择哪一个是“最好的”...

我希望构建一个利用ASP.NET MVC,MongoDB,AngularJS(用于一些特定的指令),以及一些第三方JS和CSS框架的Web应用程序。


编辑:在其他用户的回答后删除"抱怨"并更新问题

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

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

在查看其他帖子并检查我的版本后,一切似乎都是最新的...还有其他我错过的东西吗?

谢谢


你应该小心,不要让你的问题变成“掩盖的怒火”。此外,这个问题在这个网站上已经以各种不同的形式被问答了很多次。虽然你在问题中所说的大部分是准确的。 - Claies
http://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx很明显,.NET Core 应用可以在 .NET Framework 和.NET Core 上运行。因此,这些选项只是让您选择所需的目标。ASP.NET 4.x 将一直存在直到其生命周期结束。ASP.NET Core 可能是未来,但现在还不是一个好的选择。 - Lex Li
1
我也完全困惑了...我希望版本的含义更加清晰。我升级到了core 1.1,但是所有的引用仍然指向dotnet-dev-1.0.0-preview2.1-003177 - 我猜这是有意为之... - barrypicker
2个回答

18

有 .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 Core Web 应用程序适用于 .Net Core 和/或 .Net Framework 5,因此有 2 个 ASP.NET Core Web 应用程序。

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

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


6
据我所了解,如果我要开发一个Web应用程序并将其托管在Linux或Mac服务器上,并且我想访问.NET库,那么我需要使用.NET Core版本。而另一种情况是,如果它托管在具有完整.NET库的Windows环境中?是这样吗?
是的,几乎是这样。我想补充一些内容:
- 即使您仅为Windows开发,.Net Core也可能很有意义 - .Net Core目前处于Release Candidate 2阶段,意味着它尚未完全发布
这似乎是即将被淘汰的ASP.NET / MVC旧版本,随着ASP.NET Core的成熟会逐渐被替代吗?
我认为“逐步淘汰”不是正确的术语。我不确定微软计划对ASP.NET 4做什么,但我预计它会陷入与Winforms和WPF类似的境地:您仍然可以使用它们,并且它们仍然得到支持,但在新功能方面几乎被冻结。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接