1. 程式人生 > >Asp.Net Core 輕鬆學-專案目錄和檔案作用介紹

Asp.Net Core 輕鬆學-專案目錄和檔案作用介紹

前言

    上一章介紹了 Asp.Net Core 的前世今生,並建立了一個控制檯專案編譯並執行成功,本章的內容介紹 .NETCore 的各種常用命令、Asp.Net Core MVC 專案檔案目錄等資訊,通過對命令的學習和操作,對專案結構的認識,進一步理解 Asp.Net Core 的執行機制和專案框架。

建立專案的命令

    首先來認識一下建立專案可使用的各種命令,.NETCore 的命令都以 dotnet 打頭,這很好理解,輸入 dotnet xxx,就是執行環境變數指向的 C:\Program Files\dotnet\dotnet.exe 程式,然後給 dotnet.exe 提供引數執行。建議初學者以下命令逐個執行一遍,加深記憶和理解,如果實在記不住也沒有關係,可以通過在控制檯中輸入命令

1.幫助命令
dotnet --help 
// 或者
dotnet optional --help
//  如
dotnet new --help // 瞭解建立專案的幫助文件
2. dotnet new 建立各種型別的專案
模板 短名稱 語言
控制檯應用程式 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

最最常用的命令有 4 個,這些命令需要在專案根目錄執行

1. 建立一個 asp.net core mvc 專案,指定專案名稱為 MyMvc
dotnet new mvc  -o MyMvc
2. 還原專案引用包
dotnet restore
3. 編譯專案
dotnet build
4. 執行專案
dotnet run

Asp.Net Core 專案結構介紹

1. 首先使用上面的命令建立一個 Asp.Net Core MVC 專案
dotnet new mvc -o MyMvc
2. 建立成功,得到一個新的 Asp.Net Core MVC 專案

開啟專案資料夾,進入專案,看到一個標準的 Asp.Net Core MVC 專案結構如下

介紹各個目錄和檔案的作用

1. 三層架構目錄
/Models
/ViewS
/Controllers

這是一個和 Asp.Net MVC 相同的三層架構 MVC 專案,包含了 模型(Models)、檢視(Views)、控制器(Controllers),簡單來說就是 Models 內可以定義檢視(Views)通過 html 傳遞到 Controllers 內控制器的實體物件

2. obj 目錄

該目錄用於存放相關配置檔案暫存項,包引用專案配置說明

3. Properties 目錄

該目錄用於存放程式集資訊,執行配置檔案、內部資源等檔案,該目錄在建立之初,會預設建立一個 launchSettings.json ,該檔案包含了一些程式啟動時的資訊

{
  "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. 無需理解太多,直接在專案根目錄下輸入命令啟動 MVC 專案
dotnet run

你將會得到如下視窗輸出資訊

重點關注控制檯輸出的一個資訊

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",
5. wwwwroot

該目錄存放檢視層(Views) html 頁面引用的靜態資源,如圖片、樣式表、指令碼檔案(js)等

6. appsettings.json 和 appsettings.Development.json

專案主配置檔案,兩個檔案格式完全相同,實際上 appsettings.Development.json 表示 開發時執行程式的配置檔案,使用 appsettings.{env}.json,可以很方便進行執行環境的切換,以載入不同的配置檔案

7. MyMvc.csproj 專案描述檔案,用記事本開啟它,看看
<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 配置節

8.Program.cs 檔案,程式執行主入口,Main 方法所在
9.Startup.cs
  • 該檔案是預設檔案,不可隨意刪除,在此檔案中可以以包含服務配置、定義請求處理管道的重要操作。

結語

     總的來說,這是一篇小白入門答疑,簡單的介紹了一個標準的 Asp.Net Core MVC 專案都包含了哪些檔案和目錄,以及各自的作用,希望對未入門的同學有點幫助

  • 努力為開源社群作貢獻,推薦一個自己開發的基於 .netcore+pgsql 的快速開發腳手架,內建 ORM框架,github地址:https://github.com/lianggx/mystaging
  • 文中如有疏漏之處,歡迎指正。