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

dotnet test无法发现测试,已添加Microsoft.NET.Test.Sdk仍报错求助

排查dotnet test无法找到测试的问题

我之前也碰到过一模一样的情况,明明配置看起来都对,但就是跑不起来测试,给你几个实用的排查步骤:

  • 先彻底清理还原项目:有时候本地缓存或未正确还原的包会搞出莫名其妙的问题,执行这几条命令试试:

    dotnet clean
    dotnet restore
    dotnet build --configuration Debug
    

    完成后再运行dotnet test,看看问题是否解决。

  • 确认测试框架依赖包完整:只加Microsoft.NET.Test.Sdk是不够的,还需要对应测试框架的适配器包才能让测试发现器识别测试:

    • 如果用xUnit:需要额外安装xunit和xunit.runner.visualstudio
    • 如果用NUnit:需要NUnit和NUnit3TestAdapter
    • 如果用MSTest:需要MSTest.TestFramework和MSTest.TestAdapter
      对比下同事的项目csproj文件,看看你是不是漏加了这些关键包。
  • 指定目标框架运行测试:如果你的测试项目配置了多个目标框架(用<TargetFrameworks>复数标签),dotnet test可能默认跑的不是netcoreapp1.1,试试明确指定框架:

    dotnet test --framework netcoreapp1.1
    
  • 检查测试类和方法的特性:测试发现器只会识别带有特定特性的类和方法,别漏了标记:

    • xUnit:测试方法加[Fact]或[Theory]即可,类无需特殊标记
    • MSTest:测试类要加[TestClass],测试方法加[TestMethod]
    • NUnit:测试类加[TestFixture],测试方法加[Test]
      确保你的测试代码都正确标记了这些特性。
  • 验证输出dll的有效性:去错误提示的路径C:\projects\...\bin\Debug\netcoreapp1.1下,确认Test.AnalyzeFirmwareRollout.dll是否存在,且生成过程没有报错。如果dll不存在或者大小异常,说明项目构建有问题,仔细查看dotnet build的输出日志找错误。

  • 核对dotnet SDK版本:netcoreapp1.1需要对应的SDK版本支持,用dotnet --list-sdks查看本地已安装的SDK,确认有没有包含netcoreapp1.1对应的版本(一般是1.1.x系列)。如果没有,需要安装对应版本的SDK才能正常构建和运行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:20:24