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 编程,请大家能不能解释的细些,另外我也找了很多的资料,但是都没有明确的答案。

解决方案 »

  1.   

    System.IO.FileNotFoundException
    文件没找到,路径有误
      

  2.   

    你是说A的路径有误,那么A应该放在哪里呢?我试了很多地方都一样,出这个错。
    1: 与asmName同目录
    2: project的Debug目录下
      

  3.   

    你是说A的路径有误,那么A应该放在哪里呢?我试了很多地方都一样,出这个错。
    1: 与asmName同目录
    2: project的Debug目录下
      

  4.   

    asm = Assembly.LoadFile(asmName); //这里执行成功,不抛出Exception,返回值也正常 asmName.dll 有一个Reference dll -> A.dll 和其他的*.dllType[] types = asm.GetTypes();//这里提示说A.dll找不到,为什么其他的都可以呢?
      

  5.   

    应该是路径问题
    A.dll是楼主自己写的DLL文件吗?
    如果是,注意一下编译时的路径,最好放在与引用它的同一文件夹中编译
    以前这问题我也有过
      

  6.   

    放了。2: 我把asmName.dll 与他所Referenct 的dll->A.dll 都放在project的Debug目录下了。 不过还是出一样的错,说找不到A.dll