none
加载外部dll的问题 RRS feed

  • 问题

  • 想要加载以后可以使他可以像 被引用的dll一样工作而不是 只能实例化一个对象 应该怎么做?
    2010年8月12日 4:01

答案

  • 那可以使用反射技术进行动态加载

     

    Assembly ass=Assembly.LoadFrom(localstring);

    ...........

    ...........

    2010年8月12日 5:12
  • 动态加载的 DLL,其类型实例只能通过 Activator.CreateInstance,或者 Assembly.InvokeMethod 来创建。由于其类型元数据不在宿主应用程序程序集 IL 元数据中,因此,没办法通过类似于 SomeType t = new SomeType() 这样构造。
    Mark Zhou
    2010年8月12日 9:07

全部回复

  • 1、问题描述不清楚。你是要掉标准WIN32 DLL?还是托管DLL

    2、WIN32 DLL可以用 pinvoke方法 参照MSDN

    托管DLL,就没有什么好说的了。和写在自己程序里没有明显区别

    2010年8月12日 4:15
  • 也是由 c# 写的 dll

     

    我是需要动态加载进来的 例如 加载了 a.dll 和 b.dll

    其中 b.dll依赖 a.dll

     

    2010年8月12日 4:26
  • 那可以使用反射技术进行动态加载

     

    Assembly ass=Assembly.LoadFrom(localstring);

    ...........

    ...........

    2010年8月12日 5:12
  • 我只知道這樣加載後 可以实例化其中的某个类 但是并不能在其他地方使用它 只能使用这个实例化出来的类,

    我想能像(asp.net)bin目录中 那些dll那样使用它,但是不再bin目录

    2010年8月12日 6:40
  • 动态加载的 DLL,其类型实例只能通过 Activator.CreateInstance,或者 Assembly.InvokeMethod 来创建。由于其类型元数据不在宿主应用程序程序集 IL 元数据中,因此,没办法通过类似于 SomeType t = new SomeType() 这样构造。
    Mark Zhou
    2010年8月12日 9:07