Visual Studio更新至.NET 8后,Core 2.1项目出现CS0234错误求助
.NET Core 2.1项目VS更新后CS0234错误解决思路
- 锁定项目工具链版本:打开项目的
.csproj文件,添加或修改<Project ToolsVersion="15.0">(对应.NET Core 2.1适配的VS2017工具链),同时明确指定C#版本:<LangVersion>7.3</LangVersion>,避免.NET 8工具链自动介入旧项目编译。 - 关闭热重载功能:该报错涉及的
CreateNewOnMetadataUpdateAttribute是.NET 6+引入的热重载特性,Core 2.1不支持。在.csproj中添加<EnableHotReload>false</EnableHotReload>,或在VS顶部工具栏的“调试”菜单中取消勾选“启用热重载”。 - 清理项目与VS缓存:删除项目目录下的
bin和obj文件夹;删除VS组件缓存(路径为%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache),之后重新生成项目。 - 修正视图编译依赖:在项目的
_ViewImports.cshtml中检查是否存在自动引入的.NET 8相关命名空间,如有则移除;或在.csproj中添加旧版程序集引用:
<ItemGroup> <Reference Include="System.Runtime.CompilerServices"> <HintPath>你的.NET Core 2.1安装路径\shared\Microsoft.NETCore.App\2.1.x\System.Runtime.CompilerServices.dll</HintPath> </Reference> </ItemGroup>
- 调整VS默认目标框架:打开VS选项(工具->选项),进入“项目和解决方案->.NET Core”,设置默认目标框架为
.NET Core 2.1,避免工具链自动切换到.NET 8。
内容的提问来源于stack exchange,提问作者E. Peter
相关产品推荐
相关产品推荐

