【发布时间】:2020-04-22 13:49:06
【问题描述】:
Windows 10 上的 Visual Studio 2017 15.9.18
我有一个 ASP.NET Core 项目,我需要将 Target Framework 从 2.1 更新到 2.2 更改目标框架后,我清理了一个重新构建的项目。
我现在收到一个编译错误,说我的项目中的一个程序集使用'Microsoft.AspNetCore.Http.Abstractions,Version=2.1.1.0,它的版本高于引用的程序集' Microsoft.AspNetCore.Http.Abstractions 标识为 'Microsoft.AspNetCore.Http.Abstractions, Version=2.0.1.0
在我的项目依赖项中,我安装了 Microsoft.NETCore.App 2.2.0。我打算更新它,但在包管理器中,更新按钮被禁用,说“由 SDK 隐式引用。要更新包,请更新它所属的 SDK。”可用的版本显示它们最高可达 2.2.8
使用 Nuget 包管理器,我安装了 Microsoft.AspNetCore.Http.Abstractions 2.1.1.0,它似乎在调试中工作,但发布后,我的网站无法加载。
我应该手动更新 Microsoft.NETCore.App 的版本,还是只更新 Microsoft.AspNetCore.Http.Abstractions?
我在我的项目文件中添加了以下内容:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<RuntimeFrameworkVersion>2.2.0</RuntimeFrameworkVersion>
</PropertyGroup>
我还注意到我的发布配置文件中有一些无效部分:
我还读到了我应该添加的地方: services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 但是 SetCompatibilityVersion 没有作为方法出现。
【问题讨论】:
-
为什么要迁移到 .NET Core 2.2? .NET Core 2.2 已停产。另一方面,.NET Core 2.1 在 LTS 上。所以我建议你继续使用 .NET Core 2.1 或升级到 .NET Core 3.1
标签: asp.net-core visual-studio-2017 nuget-package