Asp.NET Core 轻松学-项目目录和文件作用介绍
前言
????上一章介紹了 Asp.Net Core 的前世今生,并創(chuàng)建了一個(gè)控制臺(tái)項(xiàng)目編譯并運(yùn)行成功,本章的內(nèi)容介紹 .NETCore 的各種常用命令、Asp.Net Core MVC 項(xiàng)目文件目錄等信息,通過對(duì)命令的學(xué)習(xí)和操作,對(duì)項(xiàng)目結(jié)構(gòu)的認(rèn)識(shí),進(jìn)一步理解 Asp.Net Core 的運(yùn)行機(jī)制和項(xiàng)目框架。
創(chuàng)建項(xiàng)目的命令
????首先來認(rèn)識(shí)一下創(chuàng)建項(xiàng)目可使用的各種命令,.NETCore 的命令都以 dotnet 打頭,這很好理解,輸入 dotnet xxx,就是執(zhí)行環(huán)境變量指向的 C:\Program Files\dotnet\dotnet.exe 程序,然后給 dotnet.exe 提供參數(shù)運(yùn)行。建議初學(xué)者以下命令逐個(gè)執(zhí)行一遍,加深記憶和理解,如果實(shí)在記不住也沒有關(guān)系,可以通過在控制臺(tái)中輸入命令
1.幫助命令
dotnet --help // 或者 dotnet optional --help // 如 dotnet new --help // 了解創(chuàng)建項(xiàng)目的幫助文檔2. dotnet new 創(chuàng)建各種類型的項(xiàng)目
| 控制臺(tái)應(yīng)用程序 | console | [C#]、F#、VB |
| 類庫 | classlib | [C#]、F#、VB |
| 單元測(cè)試項(xiàng)目 | mstest | [C#]、F#、VB |
| xUnit 測(cè)試項(xiàng)目 | 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應(yīng)用程序(Model - View - Controller) | mvc | [C#],F# |
| ASP.NET Core Web 應(yīng)用程序 | 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 |
更多命令,見
最最常用的命令有 4 個(gè),這些命令需要在項(xiàng)目根目錄執(zhí)行
1. 創(chuàng)建一個(gè) asp.net core mvc 項(xiàng)目,指定項(xiàng)目名稱為 MyMvc
dotnet new mvc -o MyMvc2. 還原項(xiàng)目引用包
dotnet restore3. 編譯項(xiàng)目
dotnet build4. 運(yùn)行項(xiàng)目
dotnet runAsp.Net Core 項(xiàng)目結(jié)構(gòu)介紹
1. 首先使用上面的命令創(chuàng)建一個(gè) Asp.Net Core MVC 項(xiàng)目
dotnet new mvc -o MyMvc2. 創(chuàng)建成功,得到一個(gè)新的 Asp.Net Core MVC 項(xiàng)目
打開項(xiàng)目文件夾,進(jìn)入項(xiàng)目,看到一個(gè)標(biāo)準(zhǔn)的 Asp.Net Core MVC 項(xiàng)目結(jié)構(gòu)如下
介紹各個(gè)目錄和文件的作用
1. 三層架構(gòu)目錄
/Models /ViewS /Controllers這是一個(gè)和 Asp.Net MVC 相同的三層架構(gòu) MVC 項(xiàng)目,包含了 模型(Models)、視圖(Views)、控制器(Controllers),簡單來說就是 Models 內(nèi)可以定義視圖(Views)通過 html 傳遞到 Controllers 內(nèi)控制器的實(shí)體對(duì)象
2. obj 目錄
該目錄用于存放相關(guān)配置文件暫存項(xiàng),包引用項(xiàng)目配置說明
3. Properties 目錄
該目錄用于存放程序集信息,運(yùn)行配置文件、內(nèi)部資源等文件,該目錄在創(chuàng)建之初,會(huì)默認(rèn)創(chuàng)建一個(gè) launchSettings.json ,該文件包含了一些程序啟動(dòng)時(shí)的信息
{ "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" } } } }4. 無需理解太多,直接在項(xiàng)目根目錄下輸入命令啟動(dòng) MVC 項(xiàng)目
dotnet run你將會(huì)得到如下窗口輸出信息
重點(diǎn)關(guān)注控制臺(tái)輸出的一個(gè)信息
Now listening on: https://localhost:5001 Now listening on: http://localhost:5000該信息表示 Asp.Net Core MVC 項(xiàng)目已成功運(yùn)行于 5001/5000 端口下,在瀏覽器中打開該連接地址
https://localhost:5001再圖看看 launchSettings.json 中的信息,找到下面的信息,你就了解了這個(gè)文件的作用是配置項(xiàng)目運(yùn)行端口等信息的
"applicationUrl": "https://localhost:5001;http://localhost:5000",5. wwwwroot
該目錄存放視圖層(Views) html 頁面引用的靜態(tài)資源,如圖片、樣式表、腳本文件(js)等
6. appsettings.json 和 appsettings.Development.json
項(xiàng)目主配置文件,兩個(gè)文件格式完全相同,實(shí)際上 appsettings.Development.json 表示 開發(fā)時(shí)運(yùn)行程序的配置文件,使用 appsettings.{env}.json,可以很方便進(jìn)行運(yùn)行環(huán)境的切換,以加載不同的配置文件
7. MyMvc.csproj 項(xiàng)目描述文件,用記事本打開它,看看
<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>第一行表示項(xiàng)目是一個(gè) web 應(yīng)用程序,當(dāng)前使用的 SDK 版本為 netcoreapp2.1,配置節(jié)點(diǎn) ItemGroup 包含了項(xiàng)目引用的 Nuget 包,如有新的包引用,可以加入該 ItemGroup 配置節(jié)
8.Program.cs 文件,程序運(yùn)行主入口,Main 方法所在
9.Startup.cs
該文件是默認(rèn)文件,不可隨意刪除,在此文件中可以以包含服務(wù)配置、定義請(qǐng)求處理管道的重要操作。
結(jié)語
???? 總的來說,這是一篇小白入門答疑,簡單的介紹了一個(gè)標(biāo)準(zhǔn)的 Asp.Net Core MVC 項(xiàng)目都包含了哪些文件和目錄,以及各自的作用,希望對(duì)未入門的同學(xué)有點(diǎn)幫助
總結(jié)
以上是生活随笔為你收集整理的Asp.NET Core 轻松学-项目目录和文件作用介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 致所有.Net者和有梦想的朋友们 - 共
- 下一篇: asp.net core 腾讯验证码的接