针对这个问题我在敲VB.NET机房收费系统的时候总共出现了两次,第一次是在使用反射+抽象工厂的时候出现的,第二次是在使用VS2012自带的打包工具生成可执行文件执行exe文件的时候出现的。具体看下图:

第一次:

第二次:

再说这两个问题的解决方案前首先必须明白一个道理我们所建立的任何解决方案,所有的层之间都是有直接或者间接的关联关系的。就拿我做的机房收费系统的关系如图所示:

我们通过U层(windows窗体,肯定要是启动项)的"生成"可以得到如下图所示,

通过图片可以看出U层根本没有生成D层的dll(动态链接库文件),原因就是依次引用关系的限制:U层为启动项,他和Façade  BLLAbstractFactory  以及IDAL为依次引用关系,而DAL和U层不是依次引用关系。假设我们在IDAL和DAL的引用关系换一下,改成IDAL引用DAL,这样当我们在运行U层的时候debug文件都都会有我们所有层的dll文件。关于为什么需要dll文件不知道的可以去查查百科,这里就不再赘述。

首先明确一点,U层为启动项,当我们启动解决方案的时候在“UI层”----“编译”---“生成输出路径”(如下图所示)的文件夹中必须有我们所有要使用的项目。否则就会出现找不到程序集的错误。

通过上面的讲解,知道了项目与项目之间的关系,我们就可以知道那个项目和那个项目之间不是依次的引用关系,而为了解决我们启动解决方案出现错误的问题我们将缺少的项目的dll文件复制到启动项的“编译”----“生成输出路径”的该文件夹下。这样解决了找不到程序集的错误。

下面具体说一下针对我出现的问题的解决方案:

可以肯定的是D层没有和U层有依次引用的关系,我们需要手动添加dll文件。

第一次的:复制D层的dll文件到 U层的debug文件夹下。

第二次的:在我添加UI层主输出的同时添加 DAL.dll如图所示:

未能加载文件或程序集“DAL”或其他的某一个依赖项,系统找不到指定的文件的更多相关文章

  1. 能加载文件或程序集“XXX”或它的某一个依赖项,系统找不到指定的文件

    能加载文件或程序集“XXX”或它的某一个依赖项,系统找不到指定的文件 http://blog.csdn.net/pplcheer/article/details/7796211 做项目总是遇到各种的问 ...

  2. DALFactory出现"未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案 .

    自己在使用抽象工厂+配置文件+反射实现重构机房的过程中,遇到了这种情况, 当初自己认真的检查了反射中的代码,都是没有问题,请教了师姐,检查了抽象工厂与反射的使用都没有问题 // 查找我们将要使用的数据 ...

  3. 未能加载文件或程序集“AspNetPager”或它的某一个依赖项。参数错误(转)

    未能加载文件或程序集“AspNetPager”或它的某一个依赖项.参数错误. 看你的的开发框架用的是多少的2.0, 3.0, 3.5, 4.0 那么删除的框架的文件夹也相对应的变化   删除 C:\W ...

  4. 目标平台、活动平台 配置,出现未能加载文件或程序集“xxx”或它的某一个依赖项报错

    今天在做动态加载程序集的时候,发现明明程序集存在的情况下,还是依然报“未能加载文件或程序集“xxx”或它的某一个依赖项报错”的错误,排除了程序和配置的错误后,怀疑是否是环境的问题,于是百度加msdn后 ...

  5. 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。

    64位系统 IIS7.0配置.net网站时报错:未能加载文件或程序集"XXX"或它的某一个依赖项.试图加载格式不正确的程序. 背景: 在64位的操作系统中, IIS7.0配置.ne ...

  6. 未能加载文件或程序集“XXXXXX”或它的某一个依赖项。试图加载格式不正确的程序。

    在本机WIN7机器上的WebService部署到Win2008R2上发现错误 “/”应用程序中的服务器错误. 未能加载文件或程序集“XXXXXX”或它的某一个依赖项.试图加载格式不正确的程序. 说明: ...

  7. 未能加载文件或程序集“WcfService”或它的某一个依赖项。试图加载格式不正确的程序。

    “/”应用程序中的服务器错误. 未能加载文件或程序集“WcfService”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...

  8. asp.net 未能加载文件或程序集“WebApi”或它的某一个依赖项。试图加载格式不正确的程序。

    http://blog.csdn.net/lingxyd_0/article/details/43155039 一般情况下出现这样的问题是因为.dll文件不存在或者路径不正确.但今天我遇到的情况都不在 ...

  9. 未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。

    今天使用VS2012创建项目的时候,考虑到项目中代码的重用性以及清晰简洁性,搭建了一个三层架构,但是在项目运行的时候,总是报错: “未能加载文件或程序集“BLL”或它的某一个依赖项.生成此程序集的运行 ...

随机推荐

  1. 大数据之scala基本语法学习

    package edu.snnu.test object list2 { //把字符串转化成一个char类型的list "99 Red Balloons".toList //> ...

  2. HOJ1014

    Niven Numbers My Tags   (Edit)   Source : Unknown   Time limit : 1 sec   Memory limit : 32 M Submitt ...

  3. java新特性之可变参数

    public class NewDemo01 {     public static void main(String[] args) {         System.out.print(" ...

  4. JSON.parse这个是啥?

    var jsontext = '{"firstname":"Jesper","surname":"Aaberg",&qu ...

  5. 第三条:私有化构造器或者枚举类型强化Singleton属性

    1.5版本之前,我们通常实现单例模式有两种方式: 两种方法前提都是私有化构造器,然后通过不同的方式获取对象. 第一种:通过公共的静态变量获取 public class Elivs{ // 私有化构造器 ...

  6. JS行合并处理方法

    //行合并 function _w_table_rowspan(col){ _w_table_firsttd = ""; _w_table_currenttd = "&q ...

  7. NodeJS 从0开始

    查看Node 基本配置$ npm config ls -l $npm help install将展开install的help文档 初始化目录 npm init 根据提示完成 将生成package.js ...

  8. oracle 数据库数据迁移解决方案

    大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁移,接下来把心得与大家分享一下   去年年底做了不少系统的数据迁移,大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁 ...

  9. 阿里云ECS每天一件事D4:安装mysql5.5.40

    Linux平台上MySQL也没什么好说的了,首先准备一下软件环境: yum install gcc gcc-c++ gcc-g77 autoconf automake make cmake bison ...

  10. WinAPI: GetVolumeInformation - 读取文件系统信息

    //声明: GetVolumeInformation(   lpRootPathName: PChar;              {磁盘驱动器代码字符串}   lpVolumeNameBuffer: ...