创建ASP.NET核心Web应用程序与创建
(.Net Core),并且在project.json中使.NET461成为唯一的目标
框架
这和制作ASP.NET Core Web Application
(.NET Framework
)个项目是一样的.两者之间的项目类型由.csproj
文件决定,您在.csproj
中将其从目标.NET Core
更改为目标.NET Framework
.在ASP.NET Core
的早期版本/beta版中,两个框架都可以放在一个project.json
文件中(在.NET Core 2.0中被一个简化的.csproj
文件取代,更多的.NET开发人员都熟悉这个文件),但您只能发布到一个.
只需创建一个ASP.NET核心Web应用程序(.NET Framework)项目,该项目在默认情况下仅包含.NET461.
还有其他我不知道的区别吗,比如项目发布的方式等等
之所以有单独的ASP.NET Core
个Web应用程序(.NET Core
)和ASP.NET Core
个Web应用程序(.NET Framework
),是因为后者允许您使用依赖于Windows的功能、软件包或第三方库,并且需要在机器上安装相同的.NET Framework
或更高版本.
前者没有.NET Framework
的要求,但允许您的应用程序跨平台,当您发布应用程序时,它会以这种方式将所有依赖的.NET Core
DLL文件发布到发布目录中,从而绕过了.NET Framework
的安装要求.
它还会影响编译,就好像您以.NET Core
为目标并使用特定于Windows的函数或包时会出现编译错误一样.
您可以通过调整您的.csproj
来轻松地在两者之间切换,以针对其中一个或另一个.
Microsoft Docs
你应该使用.在以下情况下,服务器应用程序的NET Core:
您有跨平台的需求.
你的目标是微服务.
您正在使用Docker容器.
您需要高性能和可扩展的系统.
你需要和我并肩作战.NET版本的应用程序.
你应该使用.在以下情况下,服务器应用程序的NET Framework:
- 您的应用程序当前正在使用.NET框架(建议进行扩展,而不是迁移)
- 你需要使用第三方软件.NET库或NuGet包不适用于.净核心.
- 您需要使用.NET Core不可用的.NET技术.
- 你需要使用一个不支持的平台.净核心.
Update (2018/10/30)
发布日期为2019 Q1的ASP.Net Core 3
只支持.NET Core
和NOT .NET Framework
,这已经是announced年前的事了
正如本月早些时候在.NET博客上宣布的那样,由于.NET Framework的就地更新特性,以及希望限制可能会 destruct 现有应用程序的更改,.NET Framework将更少地获得.NET Core的更新平台和语言功能.为了确保ASP.NET Core能够充分利用.NET Core的改进,ASP.NET Core从3.0开始将只在.NET Core上运行.展望future ,您可以简单地将ASP.NET Core视为.NET Core的一部分.
目前在.NET Framework上使用ASP.NET Core的客户可以使用2.1LTS版本以完全受支持的方式继续这样做.根据.NET支持政策,2.1的支持和服务将至少持续到2021年8月21日(宣布为LTS版本3年后).