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

VS2017 15.5.1调试/运行C#单元测试提示未找到测试用例

解决VS2017 15.5.1升级后MSTest测试用例未被发现的问题

针对你升级Visual Studio 2017 15.5.1后,基于.NET Framework 4.6.1的C# MSTest单元测试项目出现测试用例无法被发现的问题,我整理了几个经过验证的解决步骤,你可以逐一尝试:

1. 确认测试项目框架与引用版本匹配

有时候测试项目的目标框架和测试适配器/框架的版本存在兼容性冲突,你可以:

  • 右键测试项目 → 属性 → 确认目标框架是Microsoft.NET Framework 4.6.1,没有被意外修改
  • 卸载测试项目,打开.csproj文件,检查MSTest相关引用的版本是否统一,确保没有混合不同版本的引用:
    <PackageReference Include="MSTest.TestAdapter" Version="1.2.0" />
    <PackageReference Include="MSTest.TestFramework" Version="1.2.0" />
    
    如果发现有旧的本地DLL引用(比如带HintPath的节点),建议删除,改用NuGet包管理的方式统一引用。

2. 清理缓存并重建项目

VS的缓存文件偶尔会导致测试发现异常,执行以下操作:

  • 关闭Visual Studio
  • 删除测试项目下的bin和obj文件夹
  • 删除解决方案根目录下的.vs隐藏文件夹
  • 重新打开VS,先清理整个解决方案,再重建测试项目
  • 打开Test Explorer,点击顶部的Run All按钮,等待测试发现完成

3. 检查测试类和方法的特性是否正确

确保你的测试代码标记了正确的MSTest特性,避免拼写或使用错误:

  • 测试类必须标记[TestClass]特性
  • 测试方法必须标记[TestMethod]特性
    示例正确代码:
using Microsoft.VisualStudio.TestTools.UnitTesting;

[TestClass]
public class SampleTest
{
    [TestMethod]
    public void TestMethod1()
    {
        // 测试逻辑
    }
}

4. 升级MSTest包到兼容版本

VS2017 15.5.x对MSTest的兼容性有特定要求,1.2.0版本可能存在适配问题,建议升级到更兼容的版本:

  • 在NuGet包管理器中,将MSTest.TestAdapter和MSTest.TestFramework升级到1.3.2版本(这个版本对VS2017 15.5.x兼容性较好)
  • 升级完成后,清理并重建项目,再次检查Test Explorer

5. 检查VS测试组件是否完整

有时候VS升级过程中测试组件可能损坏或未安装完全:

  • 打开Visual Studio Installer → 修改 → 确认测试工具核心功能和**.NET桌面开发下的单元测试组件**已勾选
  • 如果未勾选,添加后重新启动VS

如果以上步骤都尝试后问题仍然存在,你可以尝试创建一个全新的.NET 4.6.1 MSTest测试项目,添加简单的测试方法,看是否能被发现,以此排查是否是原有项目的配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:10:36