场景
最近将手头的一个项目,从.NET Core 3.1 迁移至.NET 5。整个迁移需要的改动不多,基本上就是修改下TargetFramework,以及升级对应的package到支持.NET 5的版本。最后在ASP.NET Core MVC项目运行时,出现Warning Level的错误。错误如图:
CS1900 Warning level must be in the range 0-4
3.1时,这个Warning leve是4,现在变成5了。尝试修改回4,无法成功,总是自动变回来。
解决方案
Code Analysis -> Analysis Level -> none
将对应的level设置为none则不会有报错。治标不治本,但是凑合能用。真正的办法我还没找到。
https://github.com/dotnet/sdk/issues/14490
后记
昨天折腾了一通,发现问题居然没了。Code Analysis -> Analysis Level -> latest
设置回来也没有报错了。
看了下项目设置,不太确定到底是哪个改动导致的。
只能说几个猜测,可以试试:
Microsoft.Net.Compilers
卸载这个package。它的描述里有Note: This package is deprecated. Please use Microsoft.Net.Compilers.Toolset instead
。- 安装
Microsoft.Net.Compilers.Toolset