You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI运行Xunit项目提示不存在合适入口点的静态Main方法错误

.NET MAUI 运行Xunit单元测试报入口点缺失问题处理

问题表现

在.NET MAUI环境下运行Xunit单元测试项目时,会触发 "Program does not contain a static 'Main' method suitable for an entry point" 报错,即使测试用例是无任何逻辑的基础实现:

public class UnitTest1
{
  [Fact]
  public void Test1()
  {
  }
}

该问题可稳定复现,复现环境为Visual Studio 17.3 Preview 2.0。

复现步骤

  • 新建MAUI应用程序,在同一解决方案下新增XUnit测试项目
  • 在XUnit测试项目中添加对MAUI主项目的程序集引用
  • 构建并尝试运行测试用例,即可抛出上述异常

解决方案

方案1:架构拆分(推荐)

不要让测试项目直接引用MAUI启动项目。将MAUI项目中需要测试的业务逻辑、服务、工具类等抽离到独立的.NET类库项目中,MAUI启动项目和Xunit测试项目共同引用这个核心类库,从根源上避免两个可执行程序的入口点冲突。

方案2:修改测试项目配置(快速修复)

如果暂时不需要拆分项目,直接修改Xunit测试项目的项目配置,强制指定项目输出类型、关闭自动生成入口文件的逻辑:

  1. 右键Xunit测试项目,选择「编辑项目文件」
  2. 在第一个<PropertyGroup>节点中添加如下两行配置:
<OutputType>Library</OutputType>
<GenerateProgramFile>false</GenerateProgramFile>
  1. 保存配置后清理解决方案,重新构建即可正常运行测试。

方案3:使用MAUI官方适配的Xunit测试包

如果上述配置修改后仍存在运行时兼容问题,将测试项目原生的Xunit相关引用替换为MAUI适配版本:

  • 移除测试项目中原有的Microsoft.NET.Test.Sdk、xunit、xunit.runner.visualstudio包引用
  • 安装和当前MAUI版本匹配的Microsoft.Maui.Testing.Xunit及对应的运行器包
  • 重新构建项目,适配包会自动处理测试运行器和MAUI启动上下文的入口冲突。

内容的提问来源于stack exchange,提问作者Devi Prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:24:22