ASP.NET Core Web 项目文件介绍

640?wx_fmt=gif


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” 文件。


640?wx_fmt=other

 


这将在编辑器中打开.csproj文件。

<Project Sdk="Microsoft.NET.Sdk.Web">  <PropertyGroup>    <TargetFramework>netcoreapp2.2</TargetFramework>    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>  </PropertyGroup>  <ItemGroup>    <PackageReference Include="Microsoft.AspNetCore.App" />    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />  </ItemGroup></Project>


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.App
Microsoft.AspNetCore.Razor.Design

Microsoft.AspNetCore.App:此NuGet包称为metapackage
metapackage本身是没有任何的内容的,它只是包含了其他包的依赖信息。
您可以在解决方案资源管理器中的NuGet下找到此元数据包,而NuGet又位于依赖项(Dependencies)下。展开元数据包时,您可以找到所有依赖项。

640?wx_fmt=other



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
640?wx_fmt=jpeg

「好看」的人都【在看】↓↓↓



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ZJOI2016] 小星星(树型dp + 状压dp + 容斥)

problem luogu-P3349 solution 这个数据首先就能想到状压 dpdpdp。 先考虑在树上的朴素 dp(i,j,S):dp(i,j,S):dp(i,j,S): 节点 iii 的对应原图编号为 jjj&#xff0c;其子树对应的编号构成的点集为 SSS 的方案数。 需要满足两个限制条件&#xff1a; 原图的每个节点只能被…

GCD Game HDU - 7061

GCD Game HDU - 7061 题意&#xff1a; 有n个数ai&#xff0c;两个人轮流操作&#xff0c;每次选择一个数ai&#xff0c;再人选一个x(1<x<ai)&#xff0c;然后用gcd(ai,x)代替ai 谁先不能操作谁先输掉比赛 题解&#xff1a; 第一反应nim游戏&#xff0c;gcd是取最大公…

[ZJOI2016]旅行者(网格图分治最短路)

problem luogu-P3350 solution 据说&#xff0c;网格图最短路用分治是一个人人皆知的套路。对不起我不是人 类比整体二分的算法流程。 考虑在一个 (xl,yl)−(yl,yr)(xl,yl)-(yl,yr)(xl,yl)−(yl,yr) 矩阵内处理 [ql,qr][ql,qr][ql,qr] 的询问。 以矩阵的中界线 mid\text{…

DotNetCore 3.0 助力 WPF 开发

前言Visual Studio 2019 已经正式发布了&#xff0c;DotNetCore 3.0 的正式版也指日可待。在之前的版本中&#xff0c;作为一名基于微软生态的传统 WPF 程序员看着隔壁同学在开发 DotNetCore 网站时用着各种特性好生羡慕&#xff0c;想着巨硬啥时候能让客户端开发者也能尝尝甜头…

H - Square Card HDU - 7063

H - Square Card HDU - 7063 题意&#xff1a; 有两个圆形区域&#xff0c;一个是得分区域&#xff0c;一个是获得奖金区域&#xff0c;现在你有一个边长为a的正方形,当正方形在如果在某一时刻它严格在圆形范围内&#xff0c;才算合法。 问把牌扔到任意的位置被得分和同时获得…

【刷题记录】排列dp

文章目录[AtCoder-ABC209-f] Deforestation[AtCoder-Educational DP Contest-T]Permutation「JOI Open 2016」摩天大楼topcoder srm 489 div1 lev3 : AppleTrees[CodeForces-626F] Group Projects[TopCoder] Seatfriends小结[AtCoder-ABC209-f] Deforestation 考虑相邻的两棵树…

《从零开始学ASP.NET CORE MVC》:VS2019创建ASP.NET Core Web程序(三)

创建ASP.NET Core Web应用程序如果您使用的是VS2017请看 VS2017创建ASP.NET Core Web程序(三)在这个视频中我们将讨论可用的不同项目模板及其功能预制的项目模板有什么不同&#xff0c;哪些是可以使用的&#xff0c;以及他们的作用。在Visual Studio 2019中创建新的ASP.NET Cor…

ASP.NET Core 沉思录 - 结构化日志

在 《ASP.NET Core 沉思录 - Logging 的两种介入方法》中我们介绍了 ASP.NET Core 中日志的基本设计结构。这一次我们来观察日志记录的格式&#xff0c;并进一步考虑如何在应用程序中根据不同的需求选择不同的日志记录形式。太长不读&#xff1a;直接飞到文章最后 :-DMicrosoft…

[CEOI2016] kangaroo(排列dp)

problem luogu-P5999 solution 每个点只能跳一次&#xff0c;显然跳出来形成的顺序是一个排列。不难联想到最近刷的排列 dpdpdp。 然后&#xff0c;我觉得难点在于怎么转化这个跳的规则&#xff0c;因为现在并不确定能否按排列 dpdpdp 一样分段做。 跳的顺序形成的排列必须…

D - Counting Stars HDU - 7059

D - Counting Stars HDU - 7059 题解: 长度为n的序列a&#xff0c;有三个操作&#xff1a; 对某个区间进行询问对于某个区间内的每个数ai&#xff0c;减去ai&(-ai)对于某个区间内的每个数ai&#xff0c;加上2k2^k2k,k满足2k<ai<2k12^k < a_{i} <2^{k1}2k<…

为什么我们要做单元测试?(二)

引子当我第一篇博客发布&#xff0c;并被张善友老师的公众号转载之后&#xff0c;在公众号文章和博客园的留言中&#xff0c;许多开发者纷纷表示&#xff0c;单元测试作为企业行为&#xff0c;与实施的技术栈不同&#xff0c;不是开发者个人行为&#xff0c;实施单元测试花费的…

[CF1368E] Ski Accidents(神仙结论构造)

problem CF1368E Ski Accidents solution 这个 47n\frac 47n74​n 的限制&#xff0c;提示这存在一个特定构造方案&#xff0c;由 777 我们联想到 124712471247。 暗示把顶点分为三类 A,B,CA,B,CA,B,C&#xff0c;满足 ∣C∣≤2∣B∣≤4∣A∣|C|\le 2|B|\le 4|A|∣C∣≤2∣…

P4159 [SCOI2009] 迷路

P4159 [SCOI2009] 迷路 题意&#xff1a; 该有向图有 n 个节点&#xff0c;节点从 1 至 nn 编号&#xff0c;windy 从节点 1 出发&#xff0c;他必须恰好在 t 时刻到达节点 n。 现在给出该有向图(带边权)&#xff0c;你能告诉 windy 总共有多少种不同的路径吗&#xff1f; …

程序员修神之路--提高网站的吞吐量

点击上方蓝色字体&#xff0c;关注我们菜菜哥&#xff0c;有个事你还得帮我呀呦西&#xff0c;YY妹子&#xff0c;最近天这么热了&#xff0c;你怎么还穿这么多&#xff1f;苦笑一下.....前几天写了几个接口&#xff0c;领导让提高一下接口吞吐量这是你技术提高的大好机会呀可吞…

P2151 [SDOI2009]HH去散步

P2151 [SDOI2009]HH去散步 题意&#xff1a; HH有个一成不变的习惯&#xff0c;喜欢饭后百步走。所谓百步走&#xff0c;就是散步&#xff0c;就是在一定的时间 内&#xff0c;走过一定的距离。 但是同时HH又是个喜欢变化的人&#xff0c;所以他不会立刻沿着刚刚走来的路走回…

Function Query(树状数组)

problem 给定一个长度为 nnn 的排列 aaa。有 qqq 个询问&#xff0c;每次询问一个区间 [l,r][l,r][l,r]。求这个区间的 kkk 值。 其中 k∑ilr∑ji1rf(ai,aj),f(x,y)k\sum_{il}^r\sum_{ji1}^rf(a_i,a_j),f(x,y)k∑ilr​∑ji1r​f(ai​,aj​),f(x,y) 为一个递归函数&#xff0c…

一份.NET 容器化的调查小结

小编在上个月在微信公众号“dotnet跨平台” 做了一个针对.NET 容器化的调查&#xff1a;.NET Core 容器化调查&#xff0c;参与人数702人&#xff0c;由于软件定义基础设施方兴未艾&#xff0c;编排和自动化领域kubernetes占据了主体地位&#xff0c;在平时的工作中和身边的同学…

P2148 [SDOI2009]ED

P2148 [SDOI2009]E&D 题意&#xff1a; 有2n堆石子&#xff0c;第2k-1堆和第2k堆是一组&#xff0c;现在两个人轮流操作&#xff0c;每次操作任选一组石子&#xff0c;然后将改组中的一堆石子移走&#xff0c;将另一堆式子分割成两堆&#xff0c;形成新的两堆石子&#x…

扒一扒.NET Core的环境配置提供程序

前言很久之前&#xff0c;在玩Docker的时候顺便扒了扒&#xff0c;最近&#xff0c;终于下定决心花了些时间整理并成文&#xff0c;希望能够给大家一些帮助。目录 .NET Core中的配置ASP.NET Core中的配置扒一扒环境变量提供程序为什么是“__”&#xff1f;“__”如何变成了“&…

[HNOI2016] 序列(线段树 + 莫队 + 倍增)

problem luogu-P3246 心路历程卡常历程问题存疑 一直在想莫队的做法。发现左右指针的移动对应一段左/右端点固定的子序列&#xff0c;然后可以一个数代表一段相同的贡献。 就开始求 lsti,nxtilst_i,nxt_ilsti​,nxti​ 了。 仔细想想需要找到 lstlsti<l≤lstilst_{lst_…