zoukankan      html  css  js  c++  java
  • Assembly.Load()不能加载程序集的问题

    会出现“未能加载文件或程序集“Com.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件”的情况。就是无法找到该程序集,主要是没理解它运行的机制,其实如果
    Assembly.Load(path).CreateInstance(className);
    写成
    Assembly.Load(“Com.SQLServerDAL.dll").CreateInstance(className);
    这找的不是一个名称空间,而是在bin里的一个dll文件。而项目SQLServerDAL默认生成的dll文件的名字是SQLServerDAL.dll,于是就会出现以上的错误。那么只要在该项目属性里把程序集名称改成“Com.SQLServerDAL“就行了。

     ===================================================================================================

    错误描述:未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。文件不存在。 

    原因:1.在利用分层设计思想开发时,关于动态反射的理解不清晰。 

           2.由于开发工具的bug问题,造成未能加载程序集。 

    解决方案: 

    1.反射编程要求在网站的Bin文件夹中有已经编译好的.DLL文件(即保持DLL文件存在),并且保持名称和编译前类库的名称一致。可称:添加引用性。 

    2.查看网站中的项目(类库)属性,确认是否默认命名空间和程序集名称以及Bin文件夹下的DLL文件名称是否一致,不一致则会出现未能加载文件或者程序集,所以的修改项目的属性。可称:名称一致性。 

    3.建议在编程的时在创建类库的时候写上系统名称+项目名称,能够有效的避免Bug产出。即:SystemName.Model或者SystemName.IDAL。eg:BBS.Model。可称:名称完整性。

    最主要:path的DLL需要在网站WEB的BIN目录中

  • 相关阅读:
    输入流输出流
    WIN32_FIND_DATA
    typeid
    为什么要内存对齐 Data alignment: Straighten up and fly right
    fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
    memcmp
    DPI
    英寸、 Picas、 点、 跨度和 Twips 之间的关系
    如何解决 “fatal error C1083: ”无法打开包括文件
    hdoj 1269迷宫城堡解题报告
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2264966.html
Copyright © 2011-2022 走看看