反射没有找到加载项?

       在使用VS进行机房重构的反射部分时,遇到一个问题那就是:FileNotFoundException。如图:

                                     反射没有找到加载项?_第1张图片
         这个问题是U层缺少D的动态链接库(.dll文件)。解决方法用两种。

        一是:将D层Debug文件夹里的.dll文件复制到U的对应的文件里。

        二是:将D层的输出位置更改为U层的Debug中。如图:


       这是D层的输出路径,它输出的位置是LoginDAL的Debug.
 
        这里将D层改为了U层。
 
         通过对比不难发现,第二种要优于第一种,因为它只要修改一次就好了,而第一个随着以后反射使用数量   的增加会增加修改量。
 
  问题:通过观察U层的Debug文件夹我发现整个系统中各层的.dll文件都在这里。
           那么这里用到的.dll文件到底是什么呢?为甚么要将D层的放到U层才能不出现路径错误的现象呢?
           DLL称为动态链接库(Dynamic Link Library),又称"应用程序拓展",是软件文件类型。在Windows中,许多应用程序并不  是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执  行某一个程序时,相应的DLL文件就会被调用。我们在设置启动项目时都将U层设置为启动项目,所以需要将  所有的.dll文件放到U层中。
 

你可能感兴趣的:(反射没有找到加载项?)