loadfrom 与 loadfile 区别
2008-11-19 16:26
330 查看
郁闷,一个反射找不到依赖项的buger 找了一整天.............................
原因是在动态加载dll的时候,之前这个dll已经使用Assembly.LoadFile加载过一次了,在动态加载的方法中使用Assembly.LoadFile就无效,而加载的dll中又有其他引用.........................
再次复习一次基本区别
区别:
1、Assembly.LoadFile只载入相应的dll文件,比如Assembly.LoadFile("a.dll"),则载入a.dll,假如a.dll中引用了b.dll的话,b.dll并不会被载入。
Assembly.LoadFrom则不一样,它会载入dll文件及其引用的其他dll,比如上面的例子,b.dll也会被载入。
2、用Assembly.LoadFrom载入一个Assembly时,会先检查前面是否已经载入过相同名字的Assembly,比如a.dll有两个版本(版本1在目录1下,版本2放在目录2下),程序一开始时载入了版本1,当使用Assembly.LoadFrom("2\\a.dll")载入版本2时,不能载入,而是返回版本1。
Assembly.LoadFile的话则不会做这样的检查,比如上面的例子换成Assembly.LoadFile的话,则能正确载入版本2。
原因是在动态加载dll的时候,之前这个dll已经使用Assembly.LoadFile加载过一次了,在动态加载的方法中使用Assembly.LoadFile就无效,而加载的dll中又有其他引用.........................
再次复习一次基本区别
区别:
1、Assembly.LoadFile只载入相应的dll文件,比如Assembly.LoadFile("a.dll"),则载入a.dll,假如a.dll中引用了b.dll的话,b.dll并不会被载入。
Assembly.LoadFrom则不一样,它会载入dll文件及其引用的其他dll,比如上面的例子,b.dll也会被载入。
2、用Assembly.LoadFrom载入一个Assembly时,会先检查前面是否已经载入过相同名字的Assembly,比如a.dll有两个版本(版本1在目录1下,版本2放在目录2下),程序一开始时载入了版本1,当使用Assembly.LoadFrom("2\\a.dll")载入版本2时,不能载入,而是返回版本1。
Assembly.LoadFile的话则不会做这样的检查,比如上面的例子换成Assembly.LoadFile的话,则能正确载入版本2。
相关文章推荐
- Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法的区别!
- Assembly.LoadFile 与 Assembly.LoadFrom的区别
- Assembly.LoadFrom()和Assembly.LoadFile()的区别
- Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法的区别!
- C#反射-Assembly.Load、LoadFrom与LoadFile详细例子用法
- SHLoadImageFile、SHLoadDIBitmap、LoadBitmap、LoadImage、SHLoadImageResource函数联系和区别
- FSDK_LoadImageFromFile
- lua require dofile loadfile区别
- 启动hadoop报ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile
- Assembly.LoadFile或LoadFrom 后文件不释放
- 启动hadoop报ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile
- loadfromfile
- Unity 安卓手机 AssetBundle.LoadFromFile() SerializedFile占用大量内存
- lua require dofile loadfile区别
- Assembly中Load, LoadFrom, LoadFile以及AppDomain, Activator类中相应函数的区别
- 利用Tstringlist对文件流进行处理(介绍extractfilepath(),savetofile(),loadfromfile()使用)
- cannot load settings from file '\.idea\workspace.xml': content is not allowed in prolog . please cor
- NumPy 文件存取 tofile,fromfile, load,save
- 慎用Assembly.LoadFile()和Assembly.LoadFrom()
- Assembly.Load,Assembly.LoadFile 和 Assembly.LoadFrom