Assembly.GetTypes() 出错,啥问题呢?

R9R9R9 2008-07-04 03:33:12
Assembly asm = null;


asm = Assembly.LoadFile(asmName); //这里执行成功,不抛出Exception,返回值也正常

try
{
Type[] types = asm.GetTypes(); //这里抛出[System.Reflection.ReflectionTypeLoadException]{"Could not load file or assembly 'A, Version=6.0.18.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.":"A, Version=6.0.18.0, Culture=neutral, PublicKeyToken=null"}System.Exception {System.IO.FileNotFoundException}


}
catch (System.SystemException e)
{

}

请问这是什么错误啊,如果我直接Load(A),那也是成功的。我刚刚接触.NET 编程,请大家能不能解释的细些,另外我也找了很多的资料,但是都没有明确的答案。
...全文
521 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
net0003 2008-07-05
  • 打赏
  • 举报
回复
呵呵
R9R9R9 2008-07-05
  • 打赏
  • 举报
回复
up
足球中国 2008-07-05
  • 打赏
  • 举报
回复
路径不对
R9R9R9 2008-07-04
  • 打赏
  • 举报
回复
放了。

2: 我把asmName.dll 与他所Referenct 的dll->A.dll 都放在project的Debug目录下了。 不过还是出一样的错,说找不到A.dll
tinalucky 2008-07-04
  • 打赏
  • 举报
回复
应该是路径问题
A.dll是楼主自己写的DLL文件吗?
如果是,注意一下编译时的路径,最好放在与引用它的同一文件夹中编译
以前这问题我也有过
R9R9R9 2008-07-04
  • 打赏
  • 举报
回复
asm = Assembly.LoadFile(asmName); //这里执行成功,不抛出Exception,返回值也正常

asmName.dll 有一个Reference dll -> A.dll 和其他的*.dll

Type[] types = asm.GetTypes();//这里提示说A.dll找不到,为什么其他的都可以呢?
R9R9R9 2008-07-04
  • 打赏
  • 举报
回复
你是说A的路径有误,那么A应该放在哪里呢?

我试了很多地方都一样,出这个错。
1: 与asmName同目录
2: project的Debug目录下
R9R9R9 2008-07-04
  • 打赏
  • 举报
回复
你是说A的路径有误,那么A应该放在哪里呢?

我试了很多地方都一样,出这个错。
1: 与asmName同目录
2: project的Debug目录下
cpio 2008-07-04
  • 打赏
  • 举报
回复
明显的是文件不存在啊,把那个文件放在你的可执行文件一起
csShooter 2008-07-04
  • 打赏
  • 举报
回复
System.IO.FileNotFoundException
文件没找到,路径有误

111,016

社区成员

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

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

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