源码如下:
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,这样的写法是没有问题的,但批量加载就会出问题