关于批量动态加载dll的问题,求帮助
源码如下:
foreach (string str in systems)
{
client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadSysCompleted);
//获得相对的地址
string baseUrl = client.BaseAddress.Remove(client.BaseAddress.LastIndexOf('/') + 1);
//MessageBox.Show(baseUrl + Source);
client.OpenReadAsync(new Uri(baseUrl + str, UriKind.RelativeOrAbsolute));
}
private void client_OpenReadSysCompleted(object sender, OpenReadCompletedEventArgs e)
{
//解析系统资源,即加入到程序中
AssemblyPart assemblyPart = new AssemblyPart();
Assembly assembly = assemblyPart.Load(e.Result);
}
systems是dll集合的路径
运行之后报的错误是:用户代码未处理 TargetInvocationException
操作过程中出现异常,结果无效。有关异常的详细信息,请查看InnerException
请大神帮助
[最优解释]
没用过这种方式
prism里面的 hello World 应该和你的需求一样
[其他解释]
无参的构造函数 你写了没?
[其他解释]
没写,也不知道怎么写,呵呵。也换过其它的方式,如直接用Assemable加载,还是不行
[其他解释]
不写 怎么加载
那个需要写····
[其他解释]
无参的构造函数 不知道怎么写?
[其他解释]
我是把它写在 Application_Startup 这个里面的,并不是单独的用一个类来处理的,所以应该也是不存在构造函数
[其他解释]
我是说你dll 里面
[其他解释]
TargetInvocationException
这个异常:
http://msdn.microsoft.com/zh-cn/library/system.reflection.targetinvocationexception(v=vs.95).aspx
[其他解释]
dll用的是ArcGIS的dll,并非自己写的工具
[其他解释]
如果只是加载单个的dll,这样的写法是没有问题的,但批量加载就会出问题
[其他解释]
可以参考下 ,
http://support.microsoft.com/kb/828991/zh-cn
[其他解释]
InnerException 是什么?
[其他解释]
我也不知道,呵呵,网上找了半天,貌似没有对这东西的详细解释
[其他解释]
你有代码 能调试 看不到详细信息吗?
[其他解释]
找到原因了,是我把dll的路径写错了,NND
[其他解释]
null