虽然我们的.NET 6的项目,但是涉及到这里的变化其实从ASP.NET Coe 3.x就变化了。
如果您想知道项目文件的详细说明,请观看 ASP.NET MVC Core 基础教程的第四章节。
项目文件扩展名您使用的编程语言确定项目文件的扩展名。如果C#是编程语言,则项目文件扩展名为.csproj。如果是Visual Basic,则为.vbproj。编辑项目文件
若要编辑项目文件,请在解决方案资源管理器中右键单击项目名称,然后从上下文菜单中选择“编辑项目文件”,
或者双击项目名称
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
```
## ASP.NET Core 2.2项目文件
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<!--<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>-->
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
</Project>
## ASP.NET Core 3.x项目文件中的新变化
在顶部,我们引用了`Microsoft.NET.Sdk.Web`。它这没有从ASP.NET Core 2.0更改为3.1。
TargetFramework节点指定要定位的框架。由于我们使用的是.NET Core 3.1,因此值为netcoreapp3.1。此值简称为**Target Framework Moniker**或**TFM**。
如果要调整为其他框架版本,请在.csproj文件中或通过项目属性窗口手动进行更改。
在.NET Core 2.2项目文件中,我们还需要手动对综合单元包进行引用(即Microsoft.AspNetCore.App)。
```
在.NET Core 3.0开始中,使用框架引用关系来替换综合元管理包,即(Microsoft.AspNetCore.App)。我们可以在解决方案资源管理器中看到对meta包的Framework引用。
如果你使用过 ASP.NET Core 2.X 那么应该知道在我们的项目文件有引入一个 NuGet 包,
Microsoft.AspNetCore.App
在 ASP.NET Core 3.0 开始,Microsoft.AspNetCore.App 包不在需要由项目文件引入,而是通过.NET Core sdk 包来直接进行管理,我们可以在项目的依赖性中看到他们,见如图 17.12:
通过下方的属性中的路径窗口,可以看到它所在位置,如果您看不见属性窗口,可以选择Microsoft.AspNetCore.App
后按 F4 键,将它调出来。
然后我们复制路径中的地址: C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\6.0.0-preview.2.21154.6data\FrameworkList.xml
,打开该文件,信息如如图 17.13:
除了Microsoft.AspNetCore.App包以外,ASP.NET 开发团队,还删除了提供第三方媒体登录的软件包,这也是为什么从3.X我们需要单独安装一些额外的nuget包了。
例如 EntityFrameworkCore 程序包从3.X开始就需要手动安装了。
当然还有其他软件包也删除了。
访问以下链接以查看已删除软件包的完整列表。
https://github.com/aspnet/AspNetCore/issues/3755
如果我在项目中需要这些软件包怎么办。例如,我想要EntityFramework Core进行数据访问,那么如何包括它呢?
使用nuget软件包管理器安装所需的软件包,软件包参考将自动包含在项目文件中,如下所示。
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0-preview.2.21154.2" />
</ItemGroup>
```
您可以通过使用nuget软件包管理器或手动编辑项目文件来安装nuget软件包。