1、.NET Core项目基础框架的认识
1.Properties
显示项目属性,与右击项目——【属性】一样。下面有一个launchSettings.json文件,代码如下:实际上就是刚开始可视化设置改为了用代码设置。也即是通过代码更改了属性,可视化看到的相应属性值也改变,同理,更改了属性值,代码中的相应属性值也对应更改。
2.wwwroot
存放一些静态资源文件(css、js、imgae(.net core2.2下默认没有此文件夹)等),这个在.Net Framework下是没有的。
3.依赖项
对应.Net Framework下引用。
但是.NET Core项目的第三方依赖都是通过NuGet包来引用。体现出更加模块化。
NuGet包管理,需要哪个第三方包,右击项目——管理NuGet程序包,在弹出的窗口中搜索相应的包并安装。
4.Controllers
与.Net Framework基本一样。不过.NET CORE的控制器默认返回的都是 IActionResult
public IActionResult Index()
{
return View();
}
而.Net Framework下的控制器默认返回都是ActionResult
返回值为IActionResult相比返回值为ActionResult相比优势
5.Views
与.Net Framework基本一样。相比多一个_ViewImports.cshtml文件(导入一些公共的引用)。
6.appsettings.json
配置文件,与.Net Framework项目的web.config一样。只不过.NET CORE下采用json数据格式。读取配置文件的方式有点不一样,比如获取web.config数据库连接字符串方式如下:
string constr=ConfigurationManager.ConnectionString[“constr”].ConnectionString;
7.Model
与.Net Framework基本一样。只不过.NET CORE下有一个默认的类ErrorViewModel。
8.Program.cs文件
在.Net Framework MVC项目下是没有的,有这个文件实际上表示的就是一个控制台项目,表明.NET CORE MVC项目本质是一个控制台项目。
所以启动运行项目还可以通过控制台形式运行。做如下图设置,然后启动运行,你会看到黑色背景、白色文字的控制台,里面有很多信息,就是这启动时执行的信息,比如执行Startup中的相关方法。
对于.NET CORE2.2默认项目的效果如下图所示,与.NET CORE2.1、.NET CORE2.0及.NET Framework的默认项目效果都不一样。
9.Startup.cs文件
在.Net Framework MVC项目下是没有的,启动项目后做一些初始化的设置工作。这里重点是注入项目所需的服务和中间件。(服务是类,类里面有好多做事情的方法/功能。中间件是方法(委托))
与早期版本的 ASP.NET 对比,最显著的变化之一就是配置应用程序的方式, Global.asax、FilterConfig.cs 和 RouteConfig.cs 统统消失了,取而代之的是 Program.cs 和 Startup.cs。Program.cs 作为 Web 应用程序的默认入口,不做任何修改的情况下,会调用同目录下 Startup.cs 中的 ConfigureServices 方法 和 Configure 方法。