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

VS2022中引用.NET6 WinForm项目到单元测试项目出现引用错误

解决.NET 6 WinForm项目无法被单元测试项目引用的问题

问题原因

你的WinForm项目目标框架是net6.0-windows(Windows专属的.NET 6框架,包含WinForms等桌面专属API),而xUnit/MSTest测试项目默认目标是通用跨平台的net6.0(.NETCoreApp),跨平台框架项目无法直接引用Windows专属框架的项目,导致编译报错。

解决方案

方案1:修改单元测试项目的目标框架为Windows专属

  1. 右键单元测试项目 → 选择「属性」
  2. 在「应用」选项卡的「目标框架」下拉列表中,选择.NET 6.0 (Windows)
  3. 保存设置后重新编译解决方案

方案2:拆分业务逻辑到通用类库(推荐)

如果项目中有独立于UI的业务逻辑,建议遵循关注点分离原则重构:

  • 创建新的「类库(.NET)」项目,目标框架选择net6.0
  • 将AppUpdate项目中的非UI业务代码迁移到这个类库中
  • 让WinForm项目和单元测试项目同时引用该类库
  • 单元测试项目直接测试类库中的业务逻辑,避免引用Windows专属项目的限制

额外说明

你尝试的「Unit Test Project (.NET Framework)」是针对传统.NET Framework的测试模板,和.NET 6项目不兼容,因此无法解决问题,无需使用该模板。

内容的提问来源于stack exchange,提问作者Rafael Alfredo Zelaya Amaya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:16:02