繁体   English   中英

无法从Windows服务中动态加载的DLL中调用类

[英]Fail to invoke class in dynamic loaded DLL from windows service

这是我在C#DLL中的类

namespace MyNS
{
    public class MyClass
    {
        public static int Execute(string logKey, 
                                  string key, 
                                  XmlNode xmlPars)
        {
            return 0
        }
    }
}

我在运行时加载DLL并将类类型加载到_type变量中。 但是当我像这样从Windows服务中调用函数Exec​​ute时:

counter = (int)_type.InvokeMember("Execute", 
                                  BindingFlags.Public |
                                  BindingFlags.InvokeMethod | 
                                  BindingFlags.Static, 
                                  null, 
                                  null, 
                                  new object[] { 
                                                  logKey, 
                                                  Key, 
                                                  _xmlParams 
                                                });

我得到“调用的目标抛出了异常。”
我在这里做错了什么?

您如何加载DLL,能否请您共享代码以动态加载DLL?

这是示例代码。

Assembly assembly = Assembly.LoadFrom("ABC.dll");
object o = Activator.CreateInstance(assembly.GetType("ClassName"));
/// then invoke the method

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM