首先来认识一下建立项目可以使用的各类命令,.NETCore 的命令都以 dotnet 打头,这很好理解,输入 dotnet xxx,就是执行环境变量指向的 C:\Program Files\dotnet\dotnet.exe 程序,而后给 dotnet.exe 提供参数运行。建议初学者如下命令逐个执行一遍,加深记忆和理解,若是实在记不住也没有关系,能够经过在控制台中输入命令html
dotnet --help // 或者 dotnet optional --help // 如 dotnet new --help // 了解建立项目的帮助文档
模板 | 短名称 | 语言 |
---|---|---|
控制台应用程序 | console | [C#]、F#、VB |
类库 | classlib | [C#]、F#、VB |
单元测试项目 | mstest | [C#]、F#、VB |
xUnit 测试项目 | xunit | [C#]、F#、VB |
Razor 页 | page | [C#] |
MVC ViewImports | viewimports | [C#] |
MVC ViewStart | viewstart | [C#] |
ASP.NET Core 空 | web | [C#],F# |
ASP.NET Core Web应用程序(Model - View - Controller) | mvc | [C#],F# |
ASP.NET Core Web 应用程序 | razor | [C#] |
含 Angular 的 ASP.NET Core | angular | [C#] |
含 React.js 的 ASP.NET Core | react | [C#] |
含 React.js 和 Redux 的 ASP.NET Core | reactredux | [C#] |
ASP.NET Core Web API | webapi | [C#],F# |
Razor 类库 | razorclasslib | [C#] |
global.json 文件 | globaljson | |
NuGet 配置 | nugetconfig | |
Web 配置 | webconfig | |
解决方案文件 | sln |
https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new?tabs=netcore21
dotnet new mvc -o MyMvc
dotnet restore
dotnet build
dotnet run
dotnet new mvc -o MyMvc
打开项目文件夹,进入项目,看到一个标准的 Asp.Net Core MVC 项目结构以下react
/Models /ViewS /Controllers
这是一个和 Asp.Net MVC 相同的三层架构 MVC 项目,包含了 模型(Models)、视图(Views)、控制器(Controllers),简单来讲就是 Models 内能够定义视图(Views)经过 html 传递到 Controllers 内控制器的实体对象web
该目录用于存放相关配置文件暂存项,包引用项目配置说明json
该目录用于存放程序集信息,运行配置文件、内部资源等文件,该目录在建立之初,会默认建立一个 launchSettings.json ,该文件包含了一些程序启动时的信息redux
{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:23090", "sslPort": 44351 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "MyMvc": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }
dotnet run
你将会获得以下窗口输出信息windows
重点关注控制台输出的一个信息api
Now listening on: https://localhost:5001 Now listening on: http://localhost:5000
该信息表示 Asp.Net Core MVC 项目已成功运行于 5001/5000 端口下,在浏览器中打开该链接地址浏览器
https://localhost:5001
再图看看 launchSettings.json 中的信息,找到下面的信息,你就了解了这个文件的做用是配置项目运行端口等信息的架构
"applicationUrl": "https://localhost:5001;http://localhost:5000",
该目录存放视图层(Views) html 页面引用的静态资源,如图片、样式表、脚本文件(js)等mvc
项目主配置文件,两个文件格式彻底相同,实际上 appsettings.Development.json 表示 开发时运行程序的配置文件,使用 appsettings.{env}.json,能够很方便进行运行环境的切换,以加载不一样的配置文件
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" /> </ItemGroup> </Project>
第一行表示项目是一个 web 应用程序,当前使用的 SDK 版本为 netcoreapp2.1,配置节点 ItemGroup 包含了项目引用的 Nuget 包,若有新的包引用,能够加入该 ItemGroup 配置节
总的来讲,这是一篇小白入门答疑,简单的介绍了一个标准的 Asp.Net Core MVC 项目都包含了哪些文件和目录,以及各自的做用,但愿对未入门的同窗有点帮助