前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET Core 3.1后项目文件与.NET Core2.X的变化异同说明

ASP.NET Core 3.1后项目文件与.NET Core2.X的变化异同说明

作者头像
角落的白板报
发布2023-03-21 15:41:47
8310
发布2023-03-21 15:41:47
举报
文章被收录于专栏:角落的白板报
我们将讨论ASP.NET Core 3.0后项目文件中发生的更改。

虽然我们的.NET 6的项目,但是涉及到这里的变化其实从ASP.NET Coe 3.x就变化了。

如果您想知道项目文件的详细说明,请观看 ASP.NET MVC Core 基础教程的第四章节。

项目文件扩展名您使用的编程语言确定项目文件的扩展名。如果C#是编程语言,则项目文件扩展名为.csproj。如果是Visual Basic,则为.vbproj。编辑项目文件

若要编辑项目文件,请在解决方案资源管理器中右键单击项目名称,然后从上下文菜单中选择“编辑项目文件”,

或者双击项目名称

ASP.NET Core 3.1项目文件

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk.Web">
    
      <PropertyGroup>
        <TargetFramework>netcoreapp3.1</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
    
    ```



## ASP.NET Core 2.2项目文件
代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <!--<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>-->
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
  </PropertyGroup>
</Project>


代码语言:javascript
复制

## 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)。

代码语言:javascript
复制
```

在.NET Core 3.0开始中,使用框架引用关系来替换综合元管理包,即(Microsoft.AspNetCore.App)。我们可以在解决方案资源管理器中看到对meta包的Framework引用。

ASP.NET Core 3.x中对 Microsoft.AspNetCore.App 的调整

如果你使用过 ASP.NET Core 2.X 那么应该知道在我们的项目文件有引入一个 NuGet 包,

代码语言:javascript
复制
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软件包管理器安装所需的软件包,软件包参考将自动包含在项目文件中,如下所示。

代码语言:javascript
复制
<ItemGroup>
      <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0-preview.2.21154.2" />
    </ItemGroup>
    
    ```

您可以通过使用nuget软件包管理器或手动编辑项目文件来安装nuget软件包。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 梁桐铭博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ASP.NET Core 3.1项目文件
  • ASP.NET Core 3.x中对 Microsoft.AspNetCore.App 的调整
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档