.NET MAUI单元测试项目无法引用项目类的问题求助
解决.NET MAUI项目单元测试无法引用类的问题
检查项目引用配置
- 确保单元测试项目是普通.NET类库项目(不要用MAUI类库模板),MAUI项目用的是
Microsoft.NET.Sdk.MauiSDK,测试项目需使用Microsoft.NET.Sdk或对应测试框架的基础SDK。 - 右键单元测试项目→「添加项目引用」,确认已勾选目标MAUI项目,且项目路径无错误、项目已正常加载。
调整MAUI项目的编译与访问权限
- 打开MAUI项目的
.csproj文件,检查待测试类所在文件是否有#if平台限定编译指令,若有需移除或在测试项目中添加对应编译符号,避免类仅在特定平台编译。 - 确认待测试类使用public访问修饰符,且单元测试项目中已通过
using语句正确引入类所在的命名空间。
对齐测试项目与MAUI项目的目标框架
- 打开单元测试项目的
.csproj,确保目标框架与MAUI项目一致(比如MAUI用.NET 7,测试项目也设为.NET 7)。若MAUI项目是多目标框架(如<TargetFrameworks>net7.0-android;net7.0-ios;net7.0</TargetFrameworks>),测试项目只需单目标到桌面框架(如net7.0)即可,因为待测试类无UI依赖。 - 确保测试框架包安装正确:
- NUnit:安装
NUnit、NUnit3TestAdapter、Microsoft.NET.Test.Sdk - XUnit:安装
xunit、xunit.runner.visualstudio、Microsoft.NET.Test.Sdk
- NUnit:安装
清理重建解决方案
- 删除所有项目下的
bin和obj文件夹 - 在Visual Studio中执行「生成」→「清理解决方案」
- 重新生成整个解决方案后再尝试引用类
排查命名冲突
- 确认待测试类的名称未与测试项目内、或第三方库中的类重名,避免编译器识别混淆
内容的提问来源于stack exchange,提问作者Jeremy Burchett
相关产品推荐
相关产品推荐

