C# 使用ASP.NET Core Web应用程序(.NET Core)并将net461设置为唯一框架与使用(.NET framework)模板之间的区别
随着.NET Core RC2的发布,Microsoft实现了这一点,因此现在有3个Web应用程序模板:C# 使用ASP.NET Core Web应用程序(.NET Core)并将net461设置为唯一框架与使用(.NET framework)模板之间的区别,c#,asp.net,.net,asp.net-core,C#,Asp.net,.net,Asp.net Core,随着.NET Core RC2的发布,Microsoft实现了这一点,因此现在有3个Web应用程序模板: ASP.NET Web应用程序(.NET Framework)-旧版本 ASP.NET核心Web应用程序(.NET Framework)-新的,仅在Windows上托管 ASP.NET核心Web应用程序(.NET核心)-Linux、OSX、Windows 我正在尝试使用新的核心Web应用程序模板,但没有尝试针对Linux、OSX和Windows,因此ASP.NET核心Web应用程序(.N
- ASP.NET Web应用程序(.NET Framework)-旧版本
- ASP.NET核心Web应用程序(.NET Framework)-新的,仅在Windows上托管
- ASP.NET核心Web应用程序(.NET核心)-Linux、OSX、Windows
"frameworks": {
"net461": { }
}
我的问题:
创建ASP.NET核心Web应用程序(.NET Core)与在project.json中使net461成为唯一的目标框架有什么区别
及
只需创建一个ASP.NET核心Web应用程序(.NET Framework)项目,默认情况下该项目仅包括net461
是否还有其他我不知道的差异,比如项目发布的方式等?起初我也很困惑。主要区别在于ASP.NET Web应用程序(.NET Framework)是我们一直使用的普通ASP.NET。它包含App_Start文件夹web.config、Global.asax等。。(就像MVC5一样,你得到了这个想法 而ASP.NET核心Web应用程序(.NET Framework)是一个核心框架(MVC6)。(不依赖于System.Web)。全新的project.json。。startup.cs和program.cs等。。。它还支持.NETFramework的所有旧库 创建ASP.NET核心Web应用程序之间的区别是什么 (.NET Core)和project.json中,使.NET461成为唯一的目标 框架 这与制作一个
ASP.NET核心Web应用程序
(.NET Framework
)项目是一样的。两者之间的项目类型由.csproj
文件确定,您在.csproj
中将其从目标.NET Core
更改为目标.NET Framework
。在ASP.NET Core
的早期发行版/测试版中,可以在project.json
文件中同时包含这两个框架(该文件已被更多.NET开发人员熟悉的.NET Core 2.0中简化的.csproj
文件所取代),但您只能发布到一个
仅创建一个ASP.NET核心Web应用程序(.NET Framework)项目,默认情况下该项目仅包含.NET461
还有其他我不知道的区别吗,比如项目发布的方式,等等
如果您的目标是.NET Framework而不是.NET Core,则您的应用程序不能跨平台,并且您的应用程序只能在Windows上运行,不能在Linux/Mac上运行
存在独立的ASP.NET核心
Web应用程序(.NET核心
)和ASP.NET核心
Web应用程序(.NET Framework
)的原因是后者允许您使用函数,计算机上需要安装依赖于Windows和相同的.NET Framework
或更高版本的软件包或第三方库
前者没有.NET Framework
要求,但允许您的应用程序跨平台发布,当您发布应用程序时,它会将所有依赖的.NET Core
dll文件发布到发布目录,从而绕过.NET Framework
安装要求
它还将影响编译,就好像您以.NET Core
为目标,并使用Windows特定的函数或包时,您将获得编译错误
您可以通过调整.csproj
以其中一个为目标,轻松地在两者之间切换
在以下情况下,您应该为服务器应用程序使用.NET Core:
- 你有跨平台的需求
- 您的目标是微服务
- 您正在使用Docker容器
- 您需要高性能和可扩展的系统
- 您需要按应用程序同时提供.NET版本
"frameworks": {
"net461": { }
}
在以下情况下,您应该为服务器应用程序使用.NET Framework:
- 您的应用程序当前使用.NET Framework(建议扩展而不是迁移)
- 您需要使用不适用于.NET Core的第三方.NET库或NuGet包
- 您需要使用.NET核心无法使用的.NET技术
- 您需要使用不支持.NET Core的平台
.Net Core
和而不支持.Net Framework
正如本月早些时候在.NET博客上宣布的那样,.NET Framework将减少.NET核心的更新平台和语言功能,这是由于.NET Framework的就地更新特性以及限制可能破坏现有应用程序的更改的愿望。为了确保ASP.NET Core能够充分利用.NET Core未来的改进,ASP.NET Core将从3.0开始仅在.NET Core上运行。向前看,您可以简单地将ASP.NET Core视为.NET Core的一部分
今天,使用.NET Framework上的ASP.NET Core的客户可以继续使用2.1 LTS版本以完全受支持的方式进行此操作。根据.NET支持政策,2.1的支持和服务将至少持续到2021年8月21日(宣布为LTS版本后3年)
当您使用c时,首先看到project.json文件中的差异