visual studio 新建 net core 项目的时候,两个框架选择是什么意思?
看过了,就是不太懂,没理解到
@wuball: 这个应该清楚了吧,
From : Choosing between .NET Core and .NET Framework for server apps
@BUTTERAPPLE: 比如我发的两个图,左边选.Net Framework , 右边选 .Net Core,与两边同时选 .Net Core,有什么区别;
最根本的是左侧的选择代表什么,右侧的选择又代表什么?
@wuball: 你要搞清楚的是,这个是当你选择新建 ASP.NET Core Web Application 时,出现的选择界面,左边的意思就是 四楼所说的在 .net standard 下的两种开发平台,你可以选择 framework 或者 .net core 右边只是其对应的版本。 越高的版本,支持的API越多。
@wuball: 还有需要注意的是,不同版本间的程序集依赖有时候会有点问题。比如 .net framework 461 依赖 .net standard 2.0 的程序集的时候。
@BUTTERAPPLE:
我再理解一下
如果左边我选择Framework,那么我只能在Windows开发(编译运行)这个项目;
如果左边我选择Net Core,那么我可以在Windows、Linux、Mac OS开发(编译运行)这个项目;
但两种选择最终发布的时候,都能运行在Windows、Linux、Mac OS。
是这样吗?
@wuball: 你如果需要跨平台就选择 .NET-Core 反之 .NET Framework。
我理解为相当于Framework里的WebForm和MVC的区别。
但是core的WebForm模式去掉了aspx的语言,改用Razor来实现
Net Core 可以运行在Linux /Mac OS /Windows上
Net Framework 只能运行在Windows上。
首先搞清楚3个概念:
然后,asp.net core是一个web开发框架,这个框架运行在实现了.net standard规范的平台上。
而.net core和.net framework分别是实现了.net standard规范的两个基础开发平台,不同之处在于.net core是跨平台的一个实现,而.net framework只在windows平台上有。
.net standard参考:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
意思是左侧是选项目用什么框架编译运行,右侧就是项目用什么模板实现?
左侧选 Framework 的话,就是用 Framework 编译 Net Core 的模板?
我瞎理解的...
@wuball: 可以这么理解,但是并不是用Framework编译Net Core的模板。
而是运行在.Net Framework这个基础平台上的asp.net core这个web开发框架。
楼上都说的挺明白的。
左边的选框是选平台框架,右边是选择支持的规范版本。
两种不同的框架,具体区别可以参考:
http://www.cnblogs.com/huchaoheng/p/6295688.html
http://blog.csdn.net/zhao1949/article/details/51740559