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

.NET Framework 4.7.2项目中MStest无法识别被引用项目的类与命名空间

问题解决步骤
  • 检查访问修饰符
    默认C#类的访问级别为internal,仅允许同一程序集内访问,业务项目中的Program类及业务类默认都为非公开级别。若要跨项目调用,可选择两种方案:
    1. 给需要调用的类、方法添加public修饰符,例如将class Program改为public class Program,static void Main改为public static void Main
    2. 不修改原有类的访问级别,在业务项目的Properties/AssemblyInfo.cs文件中添加如下代码,授权测试项目访问内部成员:
    [assembly: InternalsVisibleTo("你的测试项目的程序集名称")]
    
    注:程序集名称可右键测试项目->属性->应用程序页查看,需完全匹配。
  • 确认引用类型为项目引用
    检查测试项目的引用是否为解决方案下的项目引用,而非本地dll引用:右键测试项目->引用->管理引用,在「项目」分类下确认业务项目已勾选,若为dll引用请删除后重新添加项目引用。
  • 校验项目配置一致性
    分别右键两个项目->属性,检查以下配置是否完全一致:
    1. 应用程序页的「目标框架」均为.NET Framework 4.7.2,没有出现「.NET Framework 4.7.2 客户端配置文件」的选项
    2. 生成页的「目标平台」配置一致,避免出现一个为AnyCPU、一个为x86/x64的不匹配情况
  • 核对命名空间拼写
    打开业务项目中需要调用的类的代码,确认顶部namespace声明的名称与你代码中写的命名空间完全一致,避免默认命名空间与实际声明不一致的问题。
  • 清理VS缓存重建项目
    右键解决方案->清理解决方案,再右键->重新生成解决方案,消除VS缓存导致的识别异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:27:05