背景

  在搭建完项目框架之后,当我利用单元測试来測一条线时。出现了下面错误:

  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中的文件就可以)

总结

  前后两次问题出如今不同的情景下,形式变了,可是道理没变。不管是学习还是解决这个问题,我们都应该学会举一反三。

最新文章

  1. java多线程系类:JUC线程池:06之Callable和Future(转)
  2. 【Java EE 学习 49 下】【Spring学习第一天】【MVC】【注解回顾】
  3. iOS中scrollview是否要回弹
  4. Material Design:CollapsingToolbarLayout
  5. IIS中访问自己开发的Webservice site就自动停止,尝试重启IIS和重启服务器都不能解决。
  6. hdu3870-Catch the Theves(平面图最小割)
  7. html中加入超链接方式的汇总
  8. 什么是umbraco
  9. OC--类型为ID 的类的名称
  10. X-NUCA 2017 web专题赛训练题 阳光总在风雨后和default wp
  11. SpringCloud学习之Zuul统一异常处理及回退
  12. 【Unity Shaders】Unity里的雾效模拟
  13. Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt解决方案
  14. 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
  15. 为什么SQL用UPDATE语句更新时更新行数会多3行有触发器有触发器有触发器有触发器有触发器有触发器
  16. BF算法(模式匹配)
  17. 字符串replaceAll()方法报错:java.util.regex.PatternSyntaxException:Unclosed group near index...
  18. asyncsocket的用法
  19. MyEclipse2014破解方法
  20. 域名(Domain Name)

热门文章

  1. JFinal Starting scanner at interval of 5 seconds.报错
  2. JavaScript --晋级--优
  3. AtCoder Regular Contest 069
  4. 【media-queries】媒体查询,为了响应式设计而生
  5. CI中的url相关函数以及路由设置和伪静态技术
  6. 移动端rem设置(部分安卓机型不兼容)
  7. Redux入门
  8. Oracle数据库安装与连接与简介
  9. 自定义SearchView实现即时查询
  10. BOW模型在ANN框架下的解释