asp.net调用非托管dll,出错:“无法加载 DLL”(已排除路径问题)

darzui 2003-10-16 04:04:01
我的asp.net程序调用了一个c写的foo.dll,foo.dll放在bin目录下,foo.dll用到的一些其他dll文件也放在了foo.dll目录下。当我运行这个asp.net程序时,提示“应用程序中的服务器错误。无法加载 DLL”,不管在vs.net里运行还是在浏览器中输入地址运行都是这个结果,xp、2000、.net1.0、.net1.1平台上都试过。请问该如何解决?
...全文
209 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
darzui 2003-10-21
  • 打赏
  • 举报
回复
bassil(bassil) :什么事Gac目录?
mjzcyber 2003-10-17
  • 打赏
  • 举报
回复
如果还是不行的话,你把aspnet用户,添加到administrator这个组中。试试看。我在连接oracle的时候碰到过无法加载oci.dll的情况,就是这样解决的,应该可以吧!
mjzcyber 2003-10-17
  • 打赏
  • 举报
回复
<processModel enable="true" timeout="Infinite" idleTimeout="Infinite" shutdownTimeout="0:00:05" requestLimit="Infinite" requestQueueLimit="5000" restartQueueLimit="10" memoryLimit="60" webGarden="false" cpuMask="0xffffffff" userName="machine" password="AutoGenerate" logLevel="Errors" clientConnectedCheck="0:00:05" comAuthenticationLevel="Connect" comImpersonationLevel="Impersonate" responseDeadlockInterval="00:03:00" maxWorkerThreads="20" maxIoThreads="20"/>

这里边有个user name = "machine"你把它改成system 看看
darzui 2003-10-17
  • 打赏
  • 举报
回复
to:saucer(思归) :我试了你的方法,还是不行:(
我发现在web martix自带的那个web server里运行,可以加载dll,但是iis就不行。请问这又是怎么回事?ms的东西真是太奇怪了。
wolve 2003-10-17
  • 打赏
  • 举报
回复
感觉是由于访问权限的问题。你可以先通过在web.config中进行身份模拟后执行一下试试.
bassil 2003-10-17
  • 打赏
  • 举报
回复

install foo.dll to you GAC directory!!!
可以解决问题!
saucer 2003-10-17
  • 打赏
  • 举报
回复
consider to copy the dll to C:\Winnt\System32 directory and also give ASPNET or Network Service account access permissions
2002pine 2003-10-16
  • 打赏
  • 举报
回复
我想请问一下:非托管的dll也可以引用吗?
当然可以,它就是把非托管的变成托管的,
darzui 2003-10-16
  • 打赏
  • 举报
回复
to: mjzcyber(mjzcyber)
machine.config里的username太多了,具体是哪一个?
livingliving 2003-10-16
  • 打赏
  • 举报
回复
引用还不行的话,就重新按装microsoft Visual studio.NET,
呵呵!…………^.^
mjzcyber 2003-10-16
  • 打赏
  • 举报
回复
可能是权限问题,你把machine.config文件的username 改成 system,试试看!
vasun 2003-10-16
  • 打赏
  • 举报
回复
我想请问一下:非托管的dll也可以引用吗?
darzui 2003-10-16
  • 打赏
  • 举报
回复
而且编译的时候没有提示错误,这说明foo.dll是找到了的。但是运行时就出错,我怀疑是不是iis的问题?
darzui 2003-10-16
  • 打赏
  • 举报
回复
非托管的dll是不能引用的。另外,我在c#写的windos application中调用调用foo.dll是可以的。
2002pine 2003-10-16
  • 打赏
  • 举报
回复
光拷到目录下是不够的,你还要在vs.net项目中,加引用,找到你的dll,就可了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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