“项目‘ Web’必须为 Configuration 提供值”迁移到.NETCore3后出现错误

我已经将一个 ASP.NET Core 2.2项目迁移到了 Core 3.0,并且得到了一个错误:

项目[项目位置]必须为 Configuration 提供一个值。

对于这个错误消息,没有什么可说的,有人知道如何解决这个错误吗?

这看起来可能类似于 这个问题上的网站 cli github 回购

31175 次浏览

问题是我仍然在引用 Microsoft.AspNetCore.Razor.Design Version="2.2.0"。Proj 文件的包引用。删除该引用(因为 Razor.Design现在是 AspNetCore 库的一部分,所以根本不需要该引用)解决了这个问题。

一旦我这样做了,我就得到了数百个关于可空对象是一个与剃刀不兼容的新特性的错误。那是因为我有 <LangVersion>Latest</LangVersion>在我的。项目文件。删除该行修复了这个问题,并使项目重新运行。

(根据 github 线程上的注释,在某些情况下,您可能还需要清理和重新构建以及/或重新启动 VS)

如果这还不能解决问题,那么很可能是你的项目使用的 NuGet 软件包造成的。尝试删除这些依赖项,看看它们是否清除了问题,然后一次重新添加一个依赖项,以确定哪个 NuGet 包是问题的原因。

我也遇到过同样的问题,通过删除以下参考文献解决了这个问题:

"Microsoft.AspNetCore.Mvc" Version="2.2.0"


"Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.2.0"

There is an MS document title "从 ASP.NET Core 2.2迁移到3.0". Under "Update the project file", it states,

“大量的 NuGet 软件包并不是为 ASP.NET 核心生产的 3.0. 应从项目文件中删除这些包引用

The two given as an example are:

  • 微软。 AspNetCore。应用程序
  • 微软。 AspNetCore。剃刀。设计

下面,您可以展开查看所有不再生产的软件包:

  • 微软 AspNetCore
  • Microsoft.AspNetCore.All
  • 微软。 AspNetCore。应用程序
  • 微软。 AspNetCore。防伪
  • 微软。 AspNetCore。认证
  • Microsoft.AspNetCore.Authentication.Abstractions
  • 微软。 AspNetCore。认证。 Cookies
  • Microsoft.AspNetCore.Authentication.Core
  • 微软,AspNetCore,验证,OAuth
  • 微软。 AspNetCore。授权。策略
  • 微软。 AspNetCore。 CookiePolicy
  • 微软。 AspNetCore。 Cors
  • Microsoft.AspNetCore.Diagnostics
  • 微软。 AspNetCore。诊断。健康检查
  • 微软。 AspNetCore。主机过滤
  • 微软,AspNetCore,主机
  • 微软。 AspNetCore。托管。抽象
  • 微软。 AspNetCore。托管。服务器。抽象
  • 微软。 AspNetCore
  • 微软。 AspNetCore
  • 连接
  • 微软。 AspNetCore
  • 微软。 AspNetCore
  • 微软。 AspNetCore。 HttpsPolicy
  • 微软,AspNetCore,身份
  • 本地化
  • 微软。 AspNetCore。本地化。路由
  • 微软,AspNetCore,Mvc
  • 微软。 AspNetCore。 Mvc。抽象
  • 微软。 AspNetCore。 Mvc。分析器
  • 微软。 AspNetCore
  • 微软。 AspNetCore。 Mvc.Api。分析器
  • 微软。 AspNetCore
  • 微软。 AspNetCore
  • 数据注释
  • 微软。 AspNetCore。 Mvc。格式化。 Json
  • 微软。 AspNetCore.Mvc.Formats.Xml
  • 本地化
  • 微软。 AspNetCore。 Mvc。剃刀
  • 视图编译
  • 微软。 AspNetCore。 Mvc。 RazorPages
  • 微软。 AspNetCore。 Mvc。 TagHelpers
  • 视图功能
  • 微软,AspNetCore,剃刀
  • 微软。 AspNetCore。剃刀。运行时
  • 微软。 AspNetCore。剃刀。设计
  • 微软。 AspNetCore。响应缓存
  • Microsoft.AspNetCore.ResponseCaching.Abstractions
  • 微软。 AspNetCore。响应压缩
  • 微软。 AspNetCore。重写
  • 微软。 AspNetCore。路由
  • Microsoft.AspNetCore.Routing.Abstractions
  • 微软。 AspNetCore.Server.HttpSys
  • 微软。 AspNetCore。服务器。 IIS
  • 微软。 AspNetCore。服务器。 IISIntegration
  • 微软。 AspNetCore.Server.Kestrel
  • 微软。 AspNetCore.Server.Kestrel。核心
  • Microsoft.AspNetCore.Server.Kestrel.Https
  • Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions
  • 微软。 AspNetCore.Server.Kestrel。传输。套接字
  • 微软。 AspNetCore。会话
  • 微软,AspNetCore,SignalR
  • 微软,AspNetCore,SignalR.Core
  • Microsoft.AspNetCore.StaticFiles
  • 微软。 AspNetCore。 WebSockets
  • 微软。 AspNetCore。网络工具
  • Microsoft.Net.Http.Headers

这有点奇怪。

For me, the problem was because of 'Microsoft.AspNetCore.Mvc' package.

I uninstalled it and installed 'Microsoft.AspNetCore.Mvc.Core'.

我需要补充的是,我已经安装了“微软。 AspNetCore.Mvc.Razor.RuntimeCompilation”。