【发布时间】:2019-09-01 14:09:11
【问题描述】:
我已将 ASP.NET Core 2.2 项目迁移到 Core 3.0 并收到错误消息:
项目 [项目位置] 必须为配置提供一个值。
该错误消息实际上并没有太多内容,有人知道如何解决此错误吗?
这看起来可能类似于this issue on the dotnet cli github repo。
【问题讨论】:
标签: c# asp.net-core .net-core .net-core-3.0
我已将 ASP.NET Core 2.2 项目迁移到 Core 3.0 并收到错误消息:
项目 [项目位置] 必须为配置提供一个值。
该错误消息实际上并没有太多内容,有人知道如何解决此错误吗?
这看起来可能类似于this issue on the dotnet cli github repo。
【问题讨论】:
标签: c# asp.net-core .net-core .net-core-3.0
问题是我仍然在 .proj 文件的包引用中引用 Microsoft.AspNetCore.Razor.Design Version="2.2.0"。删除该引用(根本不需要,因为 Razor.Design 现在是 AspNetCore 库的一部分)解决了这个问题。
一旦我这样做了,我就收到了数百个关于可空对象是与 razor 不兼容的新功能的错误。那是因为我的 .proj 文件中有<LangVersion>Latest</LangVersion>。删除该行修复了该问题并使项目再次运行。
(根据 github 线程上的 cmets,在某些情况下,您可能还需要清理和重建和/或重新启动 VS)
如果这不能解决问题,则可能是您的项目使用的 NuGet 包之一是原因。尝试删除依赖项,看看是否能解决问题,然后一次重新添加一个,以确定是哪个 NuGet 包造成的。
【讨论】:
有一个 MS 文档标题“Migrate from ASP.NET Core 2.2 to 3.0”。在“更新项目文件”下,它指出,
“没有为 ASP.NET Core 生成大量 NuGet 包 3.0。此类包引用应从您的项目文件中删除”
作为例子给出的两个是:
在此之下,您可以展开查看所有不再生产的包:
- Microsoft.AspNetCore
- Microsoft.AspNetCore.All
- Microsoft.AspNetCore.App
- Microsoft.AspNetCore.Antiforgery
- Microsoft.AspNetCore.Authentication
- Microsoft.AspNetCore.Authentication.Abstractions
- Microsoft.AspNetCore.Authentication.Cookies
- Microsoft.AspNetCore.Authentication.Core
- Microsoft.AspNetCore.Authentication.OAuth
- Microsoft.AspNetCore.Authorization.Policy
- Microsoft.AspNetCore.CookiePolicy
- Microsoft.AspNetCore.Cors
- Microsoft.AspNetCore.Diagnostics
- Microsoft.AspNetCore.Diagnostics.HealthChecks
- Microsoft.AspNetCore.HostFiltering
- Microsoft.AspNetCore.Hosting
- Microsoft.AspNetCore.Hosting.Abstractions
- Microsoft.AspNetCore.Hosting.Server.Abstractions
- Microsoft.AspNetCore.Http
- Microsoft.AspNetCore.Http.Abstractions
- Microsoft.AspNetCore.Http.Connections
- Microsoft.AspNetCore.Http.Extensions
- Microsoft.AspNetCore.HttpOverrides
- Microsoft.AspNetCore.HttpsPolicy
- Microsoft.AspNetCore.Identity
- Microsoft.AspNetCore.Localization
- Microsoft.AspNetCore.Localization.Routing
- Microsoft.AspNetCore.Mvc
- Microsoft.AspNetCore.Mvc.Abstractions
- Microsoft.AspNetCore.Mvc.Analyzers
- Microsoft.AspNetCore.Mvc.ApiExplorer
- Microsoft.AspNetCore.Mvc.Api.Analyzers
- Microsoft.AspNetCore.Mvc.Core
- Microsoft.AspNetCore.Mvc.Cors
- Microsoft.AspNetCore.Mvc.DataAnnotations
- Microsoft.AspNetCore.Mvc.Formatters.Json
- Microsoft.AspNetCore.Mvc.Formatters.Xml
- Microsoft.AspNetCore.Mvc.Localization
- Microsoft.AspNetCore.Mvc.Razor
- Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
- Microsoft.AspNetCore.Mvc.RazorPages
- Microsoft.AspNetCore.Mvc.TagHelpers
- Microsoft.AspNetCore.Mvc.ViewFeatures
- Microsoft.AspNetCore.Razor
- Microsoft.AspNetCore.Razor.Runtime
- Microsoft.AspNetCore.Razor.Design
- Microsoft.AspNetCore.ResponseCaching
- Microsoft.AspNetCore.ResponseCaching.Abstractions
- Microsoft.AspNetCore.ResponseCompression
- Microsoft.AspNetCore.Rewrite
- Microsoft.AspNetCore.Routing
- Microsoft.AspNetCore.Routing.Abstractions
- Microsoft.AspNetCore.Server.HttpSys
- Microsoft.AspNetCore.Server.IIS
- Microsoft.AspNetCore.Server.IISIntegration
- Microsoft.AspNetCore.Server.Kestrel
- Microsoft.AspNetCore.Server.Kestrel.Core
- Microsoft.AspNetCore.Server.Kestrel.Https
- Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions
- Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets
- Microsoft.AspNetCore.Session
- Microsoft.AspNetCore.SignalR
- Microsoft.AspNetCore.SignalR.Core
- Microsoft.AspNetCore.StaticFiles
- Microsoft.AspNetCore.WebSockets
- Microsoft.AspNetCore.WebUtilities
- Microsoft.Net.Http.Headers
【讨论】:
我也遇到了同样的问题,通过删除以下引用解决了这个问题:
"Microsoft.AspNetCore.Mvc" Version="2.2.0"
"Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.2.0"
【讨论】:
这有点奇怪。
对我来说,问题在于“Microsoft.AspNetCore.Mvc”包。
我卸载它并安装了“Microsoft.AspNetCore.Mvc.Core”。
我需要补充一点,我也安装了“Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation”。
【讨论】: