一点一点学架构(四)—Spring.NET错误Cannot Resolve Type……
2024-10-01 10:55:23
背景
在搭建完项目框架之后,当我利用单元測试来測一条线时。出现了下面错误:
Cannot resolve type[……]for object with name ‘ButtonBll’ defined in config.
看到问题描写叙述之后首先去检查了自己配置文件里的配置:
<!--B层实现注入-->
<object id="ButtonBll" type="ITOO.UIQueryProperties.BLL.ButtonBll,ITOO.UIQueryProperties.BLL" singleton="false"/>
细致核对了类名,程序集名称。确定配置没有问题。
这是哪里的问题呢?
原因分析
这是最初版本号的架构图
图中红色勾出来的地方是三个工厂,这里用到了设计模式中的抽象工厂+反射+配置文件。
架构图演变
去掉了三个工厂,取而代之的是Spring.NET中的IOC容器。我们知道。IOC容器就像是一个对象制造工厂。
那么说这些有什么用呢?
还记得在用抽象工厂+反射+配置文件时。有个常常出的错误吗?
未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定文件。
当时的解决方式是将DAL层的生成路径改到UI层的bin\Debug目录下。详细内容可參考《应用反射+配置文件+抽象工厂时出现的错误和原因分析 》
所以,尽管这两次错误的提示不一样,可是根源还是一样的:没有把实现层类库的生成路径改到应用程序启动层。
解决
这里须要我们把BLL层和DAL层的生成路径都改到 WCFService层的bin\Debug文件下。(假设要进行单元測试,单元測试层引用的dll文件都来自于WCFService层bin\Debug中的文件就可以)
总结
前后两次问题出如今不同的情景下,形式变了,可是道理没变。不管是学习还是解决这个问题,我们都应该学会举一反三。
最新文章
- java多线程系类:JUC线程池:06之Callable和Future(转)
- 【Java EE 学习 49 下】【Spring学习第一天】【MVC】【注解回顾】
- iOS中scrollview是否要回弹
- Material Design:CollapsingToolbarLayout
- IIS中访问自己开发的Webservice site就自动停止,尝试重启IIS和重启服务器都不能解决。
- hdu3870-Catch the Theves(平面图最小割)
- html中加入超链接方式的汇总
- 什么是umbraco
- OC--类型为ID 的类的名称
- X-NUCA 2017 web专题赛训练题 阳光总在风雨后和default wp
- SpringCloud学习之Zuul统一异常处理及回退
- 【Unity Shaders】Unity里的雾效模拟
- Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt解决方案
- 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
- 为什么SQL用UPDATE语句更新时更新行数会多3行有触发器有触发器有触发器有触发器有触发器有触发器
- BF算法(模式匹配)
- 字符串replaceAll()方法报错:java.util.regex.PatternSyntaxException:Unclosed group near index...
- asyncsocket的用法
- MyEclipse2014破解方法
- 域名(Domain Name)