Assembly.GetTypes()出错问题

lpn520 2007-01-19 10:09:38
使用下面的语句
Assembly assembly = Assembly.LoadFrom("D:\\Plugin.dll");
foreach (Type t in assembly.GetTypes())
系统提示错误

出现了“程序集中的一个或多个类型无法加载。”的异常。

Plugin.dll中引用了其它两个自已写的DLL
生成对象没有问题
换成其它没有引用自己写的DLL也没问题

有人知道这是什么问题吗?
Plugin.dll仅仅使用了自己写的程序集中的类型而已.
我只有10分了,大家来这里都是为了解决问题,请大家不要介意这么点分数,万分感谢
...全文
520 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
foundwubai 2009-03-04
  • 打赏
  • 举报
回复
for you information

在用它的工程中的References中手动添加错误.dll文件的引用,看行不行,
我的是这样,在GetTypes时不抛除异常了
smartstar2005 2007-01-19
  • 打赏
  • 举报
回复
没有遇到过,楼主首先确保三个dll没有问题。
然后你在Plugin中定义的类型没有继承自另外两个dll吧?不知道如果存在继承关系会不会有问题。提供点思路,楼主可以调查下。
俩醒叁醉 2007-01-19
  • 打赏
  • 举报
回复
你自己写的程序集测试了吗?
magicsnake 2007-01-19
  • 打赏
  • 举报
回复
是直接复制的还是在工程中添加的引用??
DLL版本没有问题么?
lpn5200 2007-01-19
  • 打赏
  • 举报
回复
up
lpn5200 2007-01-19
  • 打赏
  • 举报
回复
在同一个文件夹下的,因为当Plugin.dll引用自己写的DLL时,它会自动把自己要引用的DLL复制到运行目录下
hatita 2007-01-19
  • 打赏
  • 举报
回复
assembly.GetTypes()的时候,找不到你自已写的DLL和Plugin.dll是在同一文件夹下吗?
lpn520 2007-01-19
  • 打赏
  • 举报
回复
up
lpn520 2007-01-19
  • 打赏
  • 举报
回复
up
zx810903 2007-01-19
  • 打赏
  • 举报
回复
Assembly assembly = Assembly.LoadFrom("D:\\Plugin.dll");
Type t = assembly.GetType("... 这里写你的命名控件名称");

///如果你的命名空间是 WebApplication
///Type t = assembly.GetType("WebApplication");

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧