.NET 6.0单元测试兼容性异常求助:同版本提示不兼容
解决方案:匹配单元测试项目的Windows特定目标框架
问题核心是你的主项目绑定了Windows专属的.NET 6.0运行时(net6.0-windows7.0),而普通的net6.0/net7.0单元测试项目用的是跨平台框架标识,两者因框架后缀差异导致兼容报错。按以下步骤解决:
修改单元测试项目的目标框架为对应Windows版本
右键单元测试项目→属性→应用程序→目标框架,选择和主项目完全一致的net6.0-windows7.0;如果是创建.NET 7的测试项目,直接选net7.0-windows(新版Windows目标框架已简化后缀)。也可以直接编辑测试项目的.csproj文件,替换<TargetFramework>节点:<PropertyGroup> <TargetFramework>net6.0-windows7.0</TargetFramework> </PropertyGroup>对齐测试项目的NuGet包版本
确保测试项目里的Microsoft.NET.Test.Sdk、测试框架包(如xunit、NUnit)的版本和主项目的.NET版本兼容,避免因包版本不匹配引发额外框架冲突。清理重建解决方案
先执行「清理解决方案」,手动删除测试项目和主项目的bin、obj文件夹,再重新生成整个解决方案,清除缓存文件的干扰。
内容的提问来源于stack exchange,提问作者Picco
相关产品推荐
相关产品推荐

