在这篇文章中,我将详细讲解asp.net core project file.如果你还没看我这个系列的前面几篇文章,先去看看,打好基础,再来看这篇吧。

       如果你使用过之前版本的.net framework,你就会知道,当你使用c#创建应用程序的时候,.net framework框架将会创建后缀名为”.csproj”的项目文件。同样的,如果你使用的是vb,就会创建后缀名为”.vbproj”的项目文件。但是在asp.net core中,项目文件的格式和内容,都发生了深刻的变化。

asp.net core 项目文件有哪些变化

        asp.net core项目文件,不再包含任何文件夹文件的引用。在之前的asp.net framework中,当我们使用解决方案管理器,向项目添加文件夹或者文件的时候,就会同时添加一个那个文件夹或者文件的引用到项目文件中。但是在asp.net core中,项目文件不再包含任何文件夹或者文件的引用了。

       另外一个显著的变化是,在asp.net core中,文件系统确定哪些文件或文件夹属于项目。通常,存在于项目根目录的文件和文件夹是项目的一部分。存在于项目根目录的文件以及文件夹,只会在解决方案管理器中显示。

      所以,如果你使用文件管理器添加一个文件或者文件夹的时候,这个文件或文件夹就是项目的一部分。也就是只要你添加文件或者文件夹,就会在解决方案管理器中立刻显示出来。同样的,如果你删除项目中的一个文件或文件夹,这个被删除的文件或文件夹也就立马从解决方案管理器中消失了。

我们怎么编辑之前.net版本中的项目文件

在我们之前的.net framework中,为了能够编辑项目文件,我们需要做如下几个步骤:

  1. 首先,我们需要卸载项目
  2. 然后需要编辑项目文件
  3. 编辑完之后,需要立即保存项目文件
  4. 最后重新加载项目

但是在asp.net core中我们可以直接编辑项目文件,不用卸载项目。

我们怎么编辑asp.net core的项目文件

为了能够编辑asp.net core的项目文件,我们需要在解决方案中,右键选择项目名字,然后选择编辑:

一旦你选择了编辑项目文件,就会看到:

理解学习asp.net core项目文件

targatframework:

项目文件中的,targetframework元素,是用来指定你项目使用的是哪个.net 版本的。为了指定项目文件中的框架,我们使用了一种叫做target framework moniker技术(tfm)。在我们这个项目中,我们的framework版本是.net core3.1.

netcoreapp3.1就是这个.net core 3.1的绰号.

aspnetcorehostingmodel:

aspnetcorehostingmodel元素,指定了我们将怎样来托管asp.net core应用程序。aspnetcorehostingmodel的值要么是inprocess,要么就是outofprocess。

inprocess表示,我们将使用in-process hosting model托管模型。这就意味着,我们将要在iis worker process中托管我们的asp.net core应用程序。也就是w3wp.exe.

outofprocess表示,我们将使用out-of-process hosting model.在后面的章节中,我将会谈到这个inprocess以及outofprocess托管模型。

packagereference:

packagereference元素表示项目中引用的nuget包。

下面的文章中,我将带大家学习asp.net core中的main方法。这篇文章向大家讲解了asp.net core的项目文件,大家都明白了么?有不清楚的可以留言提问,我会一一解答。谢谢支持!