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