如何解决.NET Core项目设置NeutralResourcesLanguageAttribute报错问题?
解决.NET Core桌面应用编译MC1000错误的方案
针对你遇到的Error MC1000(找不到System.Resources.NeutralResourcesLanguageAttribute)问题,以下是可行的解决步骤:
检查SDK与目标框架版本匹配性
你当前使用.NET 6.0 SDK(6.0.203)编译.NET Core 3.1项目,版本混用易引发引用异常。可二选一解决:- 升级项目目标框架到.NET 6.0:修改.csproj中的
<TargetFramework>为net6.0-windows(桌面应用需指定windows) - 安装.NET Core 3.1对应版本的SDK:确保本地存在与项目目标框架匹配的SDK,避免高版本SDK编译低版本项目时的引用冲突
- 升级项目目标框架到.NET 6.0:修改.csproj中的
确认项目SDK配置正确性
打开.csproj文件,确保根节点Sdk设置正确,桌面应用需使用WindowsDesktop SDK:<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <UseWPF>true</UseWPF> <!-- 或UseWindowsForms,根据你的项目类型选择 --> <NeutralLanguage>en</NeutralLanguage> </PropertyGroup> </Project>清理重建项目
删除项目目录下的bin和obj文件夹,再执行编译命令:dotnet clean dotnet build移除AssemblyInfo.cs中的手动属性声明
当你在.csproj中设置<NeutralLanguage>时,编译器会自动生成NeutralResourcesLanguageAttribute,手动添加会导致重复定义或引用冲突,直接删除AssemblyInfo.cs中对应的代码段即可。检查.NET Core Runtime安装情况
若项目目标框架为.NET Core 3.1,需确保本地安装了对应Runtime,可通过以下命令查看已安装版本:dotnet --list-runtimes若缺失,下载对应版本Runtime安装后重试编译。
内容的提问来源于stack exchange,提问作者Luckydog
相关产品推荐
相关产品推荐

