首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# Winfrom 动态加载程序集解决方法

2012-10-18 
C# Winfrom 动态加载程序集题:主系统子系统1、子系统2、子系统3、子系统4公共类库1、公共类库2【公共系统仅供所

C# Winfrom 动态加载程序集
题:
  主系统
  子系统1、子系统2、子系统3、子系统4
  公共类库1、公共类库2【公共系统仅供所有子系统调用】

主系统通过反射调用子系统:
 要求:能加载子系统程序集,能卸载子系统程序集


谁帮忙解决100分相送,若嫌不够另外加分。



[解决办法]
建议楼主好好研究一下Assembly
[解决办法]
用System.Reflection.Assembly.Load 动态加载程序集(.exe或dll)
如:Assembly a = Assembly.LoadFrom("dy_loadAsse.exe");

用AppDomain.Unload 方法 卸载指定的应用程序域中的所有程序集。


参考:
1..NET 动态加载程序集(一)
2..NET 动态加栽程序集(二)
3..NET 动态加载程序集(三)
[解决办法]

探讨
说下用什么方法可以实现既能加载程序集,又能卸载程序集的办法,有代码更好。。。
注意:所有子系统调用的所有公共类库了。另外考虑下命名空间冲突问题。

[解决办法]
Assembly a = Assembly.LoadFrom(DLL路径);
[解决办法]
动态加载程序集有什么难的?难的在你系统的解耦,只有你的系统很好的解耦了,动态加载程序集才有威力;
[解决办法]
探讨
所有子系统调用的所有公共类库了。另外考虑下命名空间冲突问题。

[解决办法]
C# code
没啊神,竟然有人知道?
[解决办法]
实现插件结构
Form1 fm=(Form)Assembly.Load("").CreateInstance(""); 
fm.MdiParent=this.ParentForm; 
fm.Show(); 
fm.Dock=DockStyle.Fill; 

[解决办法]
探讨
用System.Reflection.Assembly.Load 动态加载程序集(.exe或dll)
如:Assembly a = Assembly.LoadFrom("dy_loadAsse.exe");

用AppDomain.Unload 方法 卸载指定的应用程序域中的所有程序集。


参考:
1..NET 动态加载程序集(一)
2..NET 动态加栽程序集(二)
3..NET 动态加载程序集(三)

[解决办法]
我 也 很 想 知 道 这 个 怎 么 做
[解决办法]
子系统DLL.AssemblyInfo.cs 中加入自定义属性 A。
利用反射加载运行目录下所有DLL。判断这些DLL是否含有自定义属性 A,有则加载到程序集。
在窗体加载的时候,对符合条件的DLL进行操作,比如用反射实例化,此类操作应用接口操作起来会比较简单。

[解决办法]
[color=red]mark[/color]

热点排行