DBHandler.IDB dbHandler;
fileManager fileManager = fileManager.getFileManager();
String dbNameSpace = fileManager.getDBNameSpace();
String dbClassName = fileManager.getDBClassName();
System.Reflection.Assembly.LoadFile(Directory.GetCurrentDirectory() + "\\" + dbNameSpace + ".dll");
Debug.WriteLine("BEFORE ___________________________________________________");
ObjectHandle handle = Activator.CreateInstance(dbNameSpace, dbNameSpace + "." + dbClassName);
dbHandler = (DBHandler.IDB)handle.Unwrap();
在上面的代码中,我从XML配置文件中获取文件名,并尝试动态加载正确的.dll(这部分工作正常),然后将类实例化为对象dbHandler
。
在调用Create
实例方法后,我得到一个异常:
_______________________________________________
mscorlib.dll中发生了'System.IO.FileNotFoundException'类型的第一次机会异常 mscorlib.dll中发生了'System.Reflection.TargetInvocationException'类型的第一次机会异常 mscorlib.dll中发生了'System.Reflection.TargetInvocationException'类型的第一次机会异常 System.Xaml.dll中出现类型'System.Xaml.XamlObjectWriterException'的第一次机会异常
System.Xaml.dll中发生了'System.Xaml.XamlObjectWriterException'类型的第一次机会异常
我在某处读到这可能表明正在调用的构造函数存在问题,但我没有实现构造函数(使用默认构造函数)。