ASP.NET Core Web 项目文件介绍
ASP.NET Core Web 項目文件
在本視頻中,我們將探索并了解asp.net core項目文件。 我們使用C#作為編程語言,因此項目文件具有.csproj擴展名。
如果您使用過以前版本的ASP.NET,那么您可能對此文件非常熟悉,但此文件中包含的格式和內容在asp.ne Core 中發生了很大變化。
一個重要的變化是,項目文件不包含任何文件夾或文件引用。
簡單解釋后的意思就是。在以前的ASP.NET中,當我們使用解決方案資源管理器向項目添加文件或文件夾時,項目文件中會包含對該文件或文件夾的引用。但是在ASP.NET Core 中,項目文件不包含任何文件夾或文件引用。
????由文件系統來確定哪些文件和文件夾屬于項目。在項目的根目錄中存在的所有文件和文件夾都是屬于項目的一部分,將顯示在解決方案資源管理器中。
?當您在添加文件或文件夾時,該文件或文件夾將會變成項目的一部分,會立即顯示在解決方案資源管理器中。 同樣,當您在解決方案下的任何文件夾中刪除文件或文件夾時,該已刪除的文件或文件夾不再是項目的一部分,會立即從解決方案資源管理器中不再顯示出來。
另外我們與項目文件的工作方式也發生了變化。在以前版本的asp.net中,為了能夠編輯項目文件,我們首先要卸載項目,編輯并保存項目文件,然后重新加載項目。而在asp.net core 中,我們可以編輯項目文件而無需卸載項目。
在解決方案中,右鍵單擊項目名稱并選擇“編輯 StudentManagement.csproj” 文件。
?
這將在編輯器中打開.csproj文件。
TargetFramework:顧名思義,此元素是用于指定應用程序的目標框架,即您希望為應用程序提供的APId程序集。為了指定目標框架,我們使用了一個名為Target Framework Moniker(TFM)的東西。正如您在上面的示例中所看到的,我們的應用程序針對TargetFramework 的值為netcoreapp2.2。netcoreapp2.2是.NET Core 2.2的Moniker。當我們創建此應用程序時,我們從新建項目中下拉列表中選擇了.NET Core 2.2作為目標框架。
AspNetCoreHostingModel:此元素指定應如何托管Asp.Net Core應用程序。它表示程序應該托管InProcess(進程內)還是OutOfProcess(進程外)。
InProcess的值指定我們想要使用進程內托管模型,即在IIS工作進程(w3wp.exe)中托管我們的asp.net core 應用程序。
OutOfProcess的值指定我們要使用進程外托管模型,將Web請求轉發到運行Kestrel服務器的后端ASP.NET Core應用程序。
我們將在即將發布的視頻中詳細討論InProcess(進程內)和OutOfProcess(進程外)托管。
PackageReference:顧名思義,此元素用于包含對為您的應用程序安裝的所有NuGet包的引用。在項目文件中,我們有以下2個NuGet包。
Microsoft.AspNetCore.AppMicrosoft.AspNetCore.Razor.Design
Microsoft.AspNetCore.App:此NuGet包稱為metapackage。
metapackage本身是沒有任何的內容的,它只是包含了其他包的依賴信息。
您可以在解決方案資源管理器中的NuGet下找到此元數據包,而NuGet又位于依賴項(Dependencies)下。展開元數據包時,您可以找到所有依賴項。
Microsoft.AspNetCore.App里面包含了ASP.NET Core 2.2及更高版本和Entity Framework Core 2.2及更高版本的所有組件。
在ASP.NET Core 2.1及更高版本的默認項目模板,都是會使用這個包。
請注意,metapackage中沒有版本號。 未指定版本時,SDK會指定隱式版本。
.NET Core團隊建議依賴SDK指定的隱式版本,而不是在包引用上顯式設置版本號。
如果目前還不完全清楚,請不要擔心。
我們將在即將發布的視頻中詳細討論metapackage和隱式版本。
Microsoft.AspNetCore.Razor.Design:此軟件包包含對Razor的MSBuild支持,并由Microsoft.AspNetCore.App 的metapackage包引用。
摘要
在本文中,我嘗試解釋了在ASP.NET Core中的項目文件的生成,以及里面常用的標簽元素。
我希望這篇文章可以幫助您滿足您的需求。我想收到你的反饋意見。請發布您對本文的反饋,問題或意見。
硬廣專區
如果您覺得我的文章質量還不錯,歡迎打賞,也可以訂閱我的視頻哦
官方網站:www.52abp.com
代碼托管地址:https://gitee.com/aiabpedu
知乎專欄:https://zhuanlan.zhihu.com/52abp
微信公眾號:角落的白板報
【收費的在騰訊課堂】https://ke.qq.com/course/392589?tuin=2522cdf3
youtube視頻專區:http://t.cn/Ei0F2EB
【免費的在B站】https://space.bilibili.com/2954671
免費的更新慢,收費的更新快,僅此而已。就這樣。
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
「好看」的人都【在看】↓↓↓
總結
以上是生活随笔為你收集整理的ASP.NET Core Web 项目文件介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CefSharp中c#和JavaScri
- 下一篇: DotNetCore 3.0 助力 WP