我用C写的DLL,直接传到网站上,在ASP.NET中用DllImport导入行不行?
另外DllImport导入DLL和引用中加入有什么区别?谢谢!

解决方案 »

  1.   

    哈哈。搞定了,不需要注册的。
    请看http://www.tuoji.net/TestDLL.aspx但是现在有个问题就是
    [DllImport("E:\\WebSites\\TempSite\\Bin\\Cmdll.dll")]
    其中要指明DLL文件路径,但是这个路径必须是字符串常量。而通常在ASP.NET发布时,这个DLL是放在应用程序的Bin目录下。也就是说绝对路径是根据不同的网站而不同的。因此如何才能让这里接受变量呢?请指点!
      

  2.   

    可提供完整路径或相对路径。如果不提供路径,则 DLL 必须位于运行时的当前路径,除非该 DLL 是以其他方式加载的。但请注意,使用完全限定路径时,如果 DLL 被移动,则会导致错误。
      

  3.   

    Server.MapPath(".") + "bin\\cmdll.dll"不知道可不可以啊
      

  4.   

    hdt(近来工作忙,每天只能接分半个小时) 
    如果不提供路径,则 DLL 必须位于运行时的当前路径
    ==================================================
    请问ASP.NET运行时,“当前路径”指的是哪个路径?是“Bin”目录吗?好像不是呢。如果不指定绝对路径,那么ASP.NET中,DLL放在哪儿? ighack() 
    ==================================================
    Server.MapPath(".") + "bin\\cmdll.dll"
    这样不行的,我试了。必须要是字符串常量才行!
      

  5.   

    http://www.aspxboy.com/private/showthread.asp?threadid=369
      

  6.   

    xiahouwen(活靶子.NET),你给的文章都没提到关于DLL路径的问题呀!
      

  7.   

    同意HDT
    如果和aspx在一个目录就可以不用写路径,和操作系统的dll一样待遇
      

  8.   

    Beta4(一会就好),我试了。即使和ASP.NET放在一个目录,如果不写路径也不行的!
      

  9.   

    如果不写路径,则出现一下错误:
    无法加载 DLL (Cmdll.dll)。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.DllNotFoundException: 无法加载 DLL (Cmdll.dll)。
      

  10.   

    搞定了
    LoadLibrary(Server.MapPath("./Bin/Cmdll.dll"));