有一个dll,可能是vc或者vb写的,现在已经无法知道,因此谈不上了解有哪些功能。在vb和c#的winapp中均可以正常调用。c#中调用如下:
[ DllImport("myDll.dll") ]
public static extern int Sum( string strSource, string strFile );   但是当我把它移植到ASP.NET中去时,却发生错误:
      异常详细信息: System.Runtime.InteropServices.SEHException: 外部组件发生异常。   这个问题我看了网上很多解释,给出的方法有很多,我试了都不行,比如:
     1、利用tlbimp转换,提示   dll   is   not   a   valid   type   library 
     2、把文件拷贝到/bin或者system32目录
     3、在.NET添加引用,结果不能添加,体是不是有效的程序集或者COM组件。
     4、权限问题,我已经放开了   不知道有没有谁遇到过同样的问题,请大家帮忙看一看。非常感谢。 

解决方案 »

  1.   

    copy 到 System32 下的话
    让asp_net (win2000) , network_service(win2003)用户对%system32%要有访问权
      

  2.   

    注冊組件, 添加引用, using
      

  3.   

    对于大家提到的方法,我都试过,不行.
    对了,操作系统用的WIN2000.
      

  4.   

    注册组件
    regsvr32
    然后看看能不能引用
    如果能引用再using
      

  5.   

    to 对了,操作系统用的WIN2000.把dll放到system目录下,使用
    [ DllImport("myDll.dll") ]
    public static extern int Sum( string strSource, string strFile );来调用。