1. 程式人生 > 實用技巧 >ASP.NET Core解決方案結構

ASP.NET Core解決方案結構

ASP.NET Core解決方案或專案結構根據我們在建立專案時選擇的專案模板生成。wwwroot檔案,pages,controller,views和models是VIsual Studio為我們建立的其他資料夾。

ASP.NET Core解決方案結構

該解決方案包含依賴性屬性兩個資料夾。它在專案根目錄中包含兩個檔案program.csstartup.cs。舊版本的ASP.NET Core專案也建立了wwwroot資料夾。但是,如果我們選擇其他模板,例如Web應用程式(建立Razor頁面)或Web應用程式模型,檢視和控制器,則將獲得略有不同的專案資料夾

專案結構,選擇帶有模型的Web應用程式模板和Web應用程式模板時,使用View Controller。

上面的模板還建立了wwwroot,pages,controller,views和models資料夾。

Properties

Properties資料夾包含了一個launchSettings.json。此json檔案包含啟動應用程式所需的所有特定於專案的設定。我們將在此檔案中找到除錯配置檔案,環境變數等。

wwwroot

wwwroot資料夾是ASP.NET Core中的新增資料夾。靜態檔案(例如HTML,CSS,JavaScript和影象檔案)將進入此資料夾或該資料夾下的任何子資料夾ASP.NER Core將wwwroot資料夾視為網站的根目錄。網址http://你的域名.com/指向wwwroot

.所有檔案均放在wwwroot資料夾或其下的子資料夾中。僅放置我們要提供的檔案。這稱為白名單。放置在其他資料夾中的檔案將被自動阻止。程式碼檔案應放置在wwwroot外部。這包括我們所有的C#檔案,Razor檔案,配置檔案等。cssjslib這三個資料夾是在該資料夾下自動建立的。其中,lib資料夾用於第三方javascript庫,例如jquerybootstrap。這些客戶端軟體包可以使用Libman安裝。ASP.NET Core中建立web pages的方法由兩種。一種是較舊的“模型-檢視-控制器”方法。另一個是使用“Razor”頁面。如果選擇帶有Razor頁面模板的Web應用程式,則會建立此資料夾。所有“
Razor Pages”都將在此資料夾被創建出來。

模型,檢視和控制器資料夾

這些資料夾包含模型,檢視和控制器相關檔案。如果選擇Web應用程式下的Model-View-Controller模板,則會建立這些資料夾。

依賴項

此資料夾包含專案的所有依賴項。對於包管理,可以使用Libman。 這與以前的版本不同,在以前的版本中,NuGet用於管理包。當我們使用libman安裝第三方軟體包時,將建立libman.json檔案。在Dependencies資料夾下,我們有NuGet資料夾(其中包含NuGet包)和SDK資料夾(其中包含Microsoft.NETCore.App)。 這是我們在專案中的.Net Core執行時。

檔案系統中的檔案現在是專案的一部分

專案檔案(.csProj)在Visual Studio 2019中進行了很多更改。現在變得更加簡單。解決方案資料夾中的檔案與Visual Studio中解決方案資源管理器中顯示的檔案之間存在直接關聯。我們新增到解決方案資料夾中的檔案將自動成為專案的一部分。為了演示這一點,我們將在檔案資源管理器中的檔案結構中新增一個檔案,並實時顯示在解決方案資源管理器中。

開啟記事本並貼上以下程式碼

namespace HelloWorld
{    
    public class test
    {
    }
}

現在,將其儲存到HelloWorld專案資料夾。該檔案由Visual Studio自動選擇並新增到專案中。

新專案系統

與ASP.NET Core 1.0一起引入的project.json從.NET Core 2.0開始被拋棄現在,已安裝的NuGet軟體包在.csproj檔案中列出。.csproj檔案可以直接在Visual Studio開啟和編輯。現在,我們可以右鍵單擊該專案,然後編輯.csproj檔案。無需解除安裝專案。

新的csproj與舊版ASP.NET相比,該檔案包含的元素很少

目標框架

我們可以從這裡修改目標框架netcoreapp3.1 。我們也可以從專案屬性中(選擇專案->右鍵單擊並選擇屬性)更改目標框架。“專案屬性”中發生的所有更改均會在.csproj檔案上反應出來。

包管理

NuGet是舊版Visual Studio的程式包管理器。但是從.Net Core 2.2開始,我們有兩個軟體包管理器。

  1. NuGet是伺服器端軟體包
  2. Libman是客戶端軟體包

NuGet

我們可以通過三種方式將NuGet軟體包新增到專案中

  1. 修改.csproj檔案
  2. 使用NuGet軟體包管理器
  3. 通過軟體包管理器控制檯

修改.csproj檔案

選擇專案並單擊滑鼠右鍵,然後單擊編輯HelloWorld.csproj。新增以下程式碼並儲存檔案

<PackageReference Include="Microsoft.ApplicationInsights" Version="2.4.0" />

NuGet程式包管理器在檔案儲存完後立即下載並安裝依賴項。.csproj檔案。黃色警告標誌出現在元件旁邊,安裝完成後消失。

使用NuGet軟體包管理器

選擇專案並單擊滑鼠右鍵,然後單擊管理NuGet軟體包安裝/刪除NuGet軟體包。

程式包管理器控制檯

工具->NuGet軟體包管理器->軟體包管理器控制檯開啟“軟體包管理器”控制檯視窗。

客戶端軟體包Libman

libman是在Visual Studio 2017中開始用於ASP.NET Core專案的新客戶端程式包管理工具。 VS 2017/9現在具有內建支援。我們可以通過右鍵單擊“解決方案”並選擇“新增”->“客戶端庫”選項來開啟它

新增客戶端庫

在“新增客戶端庫”中,輸入庫的名稱,然後單擊“安裝”進行安裝。預設情況下,已安裝的檔案被複制到該wwwroot/lib資料夾