本人不想使用一个程序调用另一个,想用一个程序动态加载DLL,当有更新,关闭线程,更新dll及配置文件,然后启动
解决方案 »
- C# xml 序列化的问题。 现在有对象 IEnumerable<T> xmlData,实现将其序列化到xml文件中指定节点nodeName
- Scrolling时图像有明显的闪烁和延迟,
- 窗体问题
- winform datagridview 不能得到更新后的数据
- 用.net实现aop的时候 在IDE里没事 编辑出来的EXE报NullRefException
- 如何取DataRow第某列的列名
- 我有一设备管理软件想外包
- 求《概要设计》文档
- socket的同步与异步的概念
- c#窗体打开前加载一张图片如何设置
- WCF中使用消息队列,明明消息队列里面有东西,但有时候可以取,又时候不行....纠结
- 重写onchickedchanged能实现菜单栏中的选项只能选中一个吗
同一个名称的Assembly,内存中可以有多个。比如说你有一个 ABC类型对象,现在你加载了这个dll的另外一个版本的dll,反射创建了另外一个ABC对象,那么内存中就有两个ABC对象实例,它们来自于不同的dll。在.net中是完全允许的。不用等GC回收第一个对象。你可以自己编写程序试一下。事实上,就算你没有更新dll版本,你把同一个dll使用代码加载两遍,得到两个Assembly内存对象,使用这个分别反射创建ABC对象实例,然后你判断它们的类型,你会发现他们的类型也是不同的。也就是说“ABC类型并不等于ABC类型”,因为它们来自于内存中不同的Assembly。