.NET Framework单元测试项目无法引用另一项目的公共方法怎么办
单元测试识别不到公共方法、构建报错但运行正常的解决方案
排查与修复步骤
- 清理VS缓存与项目临时文件
关闭Visual Studio,删除解决方案根目录下的.vs隐藏文件夹,同时删除两个项目各自的bin、obj文件夹,重启VS后重新生成整个解决方案。该操作可以解决Intellisense缓存损坏、旧编译产物残留导致的识别异常。 - 修正项目引用方式
确认测试项目添加的是项目引用而非直接引用代码项目的输出dll。如果是直接引用固定路径的dll,会出现代码项目更新后引用的dll未同步,导致构建时检测不到新增方法,但运行时测试目录恰好加载了最新dll的错位问题。 - 核对文件生成属性
右键点击代码项目中Example类所在的cs文件,选择「属性」,确认「生成操作」字段设置为C# 编译器。如果该字段为其他值,正式构建时不会将该文件的代码编入程序集,而调试运行时VS可能临时包含该文件代码,就会出现构建报错、运行正常的异常表现。 - 确认框架兼容性与命名空间冲突
核对代码项目与测试项目的目标框架兼容,同时可以将测试代码中的类名替换为完全限定名验证,避免因同名类、命名空间引用错误导致的方法识别问题:CodeProject.Example example = CodeProject.Example.Instance;
内容的提问来源于stack exchange,提问作者mJensen
相关产品推荐
相关产品推荐

