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

基于MSTest.Sdk的TestHelper项目配置问题咨询

解决方案与原因解析

官方示例用Microsoft.NET.Sdk的核心原因

MSTest.Sdk是为测试执行项目量身打造的SDK,它自带一系列测试专属默认配置:

  • 默认将项目输出设为Exe格式(测试运行器需要执行测试集)
  • 自动注入测试发现、执行相关的MSBuild目标与任务
  • 打包时会包含测试运行所需的额外依赖与资产

而你的TestHelper项目是工具类类库,仅需复用MSTest的API(如Assert相关类型)实现辅助功能,完全不需要测试项目的执行、发现能力。用Microsoft.NET.Sdk作为基础SDK,既能保留类库的纯净性,又不会引入多余的测试专属配置。

TestHelper项目的正确配置方案

  • 项目文件头部使用通用类库SDK:
<Project Sdk="Microsoft.NET.Sdk">
  • 显式指定输出类型为类库(规避默认配置的意外变更):
<PropertyGroup>
  <OutputType>Library</OutputType>
  <!-- 补充你的TargetFramework等基础配置 -->
</PropertyGroup>
  • 按需引用MSTest相关NuGet包,只引入实现辅助功能所需的核心包即可:
<ItemGroup>
  <PackageReference Include="MSTest.TestFramework" Version="x.x.x" />
  <PackageReference Include="MSTest.Assert" Version="x.x.x" />
</ItemGroup>

按此配置后,TestHelper项目会生成标准类库(DLL),既能正常使用MSTest API编写辅助工具,也不会出现生成Exe、冗余配置等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 12:17:35