社区
C#
帖子详情
如何在程序中load两个版本的Assembly?
RiderOnStorm
2003-09-12 09:54:01
我想在程序中load两个版本的Assembly,它们分别是两个DLL,我使用Assembly.LoadFrom(<dll path>)来load它们。但当第一个版本的Assembly被load后,第二个就load不进来了,Assembly.LoadFrom方法将返回第一个版本的Assembly。我想这应该是因为两个Assembly的名字相同,系统检测到已经有了这个Assembly,就不再load了。请问如何解决这一问题?
...全文
74
6
打赏
收藏
如何在程序中load两个版本的Assembly?
我想在程序中load两个版本的Assembly,它们分别是两个DLL,我使用Assembly.LoadFrom()来load它们。但当第一个版本的Assembly被load后,第二个就load不进来了,Assembly.LoadFrom方法将返回第一个版本的Assembly。我想这应该是因为两个Assembly的名字相同,系统检测到已经有了这个Assembly,就不再load了。请问如何解决这一问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
effenberg
2003-11-26
打赏
举报
回复
写一个XML的*.exe.config设置一下啦
RiderOnStorm
2003-09-12
打赏
举报
回复
snof(雪狼):
我希望在程序中load两个版本的Assembly,也就是说,两个Assembly只有Version不同,名字是相同的。我在load第一个时没有问题,但因为已经存在了相同名字的Assembly,程序不再加载第二个Assembly。
这两篇文章介绍反射机制很多,但没有提及我的问题。
雪狼1234567
2003-09-12
打赏
举报
回复
看一下这儿:
http://www.c-sharpcorner.com/1/Reflection_in_net.asp
http://www.c-sharpcorner.com/1/WCReflection.asp
wkyjob
2003-09-12
打赏
举报
回复
不明白,帮你顶一下!
RiderOnStorm
2003-09-12
打赏
举报
回复
好像只要Assembly的名字相同就不再load了。
我在考虑是否能通过创建新的AppDomain来解决这一问题。
77zjh77
2003-09-12
打赏
举报
回复
SampleAssembly = Assembly.Load("Assembly text name, Version, Culture, PublicKeyToken");
能不能加入Version呢
PowerBI系列之Power Query专题
解决列丢失错误 动态显示、排序和重命名列 为所有列名添加前缀 列名字母大写和分隔符调整 Trim标题列
中
的多余空格 如何处理
load
数据错误 为什么
load
的Excel数据有null空行 为什么
load
的Excel数据标题在第二行 ...
反射动态加载
程序
集
Assembly
.
Load
和Assembley.
Load
From
抽象工厂需要借助反射机制来更好的实现,反射即动态加载某个
程序
集,从
程序
集
中
获得一个类从而动态实例化出一个对象。抽象加反射大大降低了耦合度。 动态加载
程序
集的有两种方法
Assembly
.
Load
和
Assembly
.
Load
From。
Assembly
.
Load
方法
Assembly
.
Load
方法通过
程序
集的名称(包括
程序
集名,
版本
信息,语言文化,公钥标记)来加载
深入了解C#反射
中
Assembly
.
Load
()、
Assembly
.
Load
From()、
Assembly
.
Load
F ile ()方法
本文转自:https://www.cnblogs.com/zagelover/articles/2726034.html
Assembly
.
Load
()
Load
()方法接收一个String或
Assembly
Name类型作为参数,这个参数实际上是需要加载的
程序
集的强名称(名称,
版本
,语言,公钥标记)。例如.NET 2.0
中
的FileIOPermission类,它的强名称是:System....
Assembly
.
Load
From与
Assembly
.
Load
File
区别: 1、
Assembly
.
Load
File只载入相应的dll文件,比如
Assembly
.
Load
File("a.dll"),则载入a.dll,假如a.dll
中
引用了b.dll的话,b.dll并不会被载入。
Assembly
.
Load
From则不一样,它会载入dll文件及其引用的其他dll,比如上面的例子,b.dll也会被载入。 2、用
Assembly
.
Load
From载入一个
Assembly
时,会先检查前面是否已经载入过相同名字的
Assembly
,比如a.dll有
两个
版本
(
C#通过
Assembly
.
Load
加载
程序
集
来源:https://bbs.csdn.net/topics/391975530?page=1 分两种情况: 1、需要加载的
程序
集已经在
程序
中
被引用了,则直接从当前
程序
域
中
查找即可:
Assembly
assembly
= AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x => x.GetName().Name.C...
C#
110,502
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章