社区
C#
帖子详情
C#web应用加载Dll失败有哪些原因?
MagicStone2008
2007-12-14 10:28:20
在C#web应用中加载一个delphi编写的Dll在我本机上能成功调用,发布到服务器上就出现Dll加载失败的错误信息,请高人指点!
...全文
437
17
打赏
收藏
C#web应用加载Dll失败有哪些原因?
在C#web应用中加载一个delphi编写的Dll在我本机上能成功调用,发布到服务器上就出现Dll加载失败的错误信息,请高人指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joyjjjz
2008-01-03
打赏
举报
回复
ding
MagicStone2008
2007-12-14
打赏
举报
回复
不是Active Dll,不需要注册的
应用程序当前路径我也设置过的Directory.SetCurrentDirectory(Context.Server.MapPath(Context.Request.ApplicationPath));
Dll也是放在虚拟路径对应物理路径下的,关键是我本机上能正常调用,到服务器上就不行,
是不是我本机装过一些开发工具而带上了某些动态连接库?Delphi编译的时候没有把有些共享库包含进来?
我自横刀香甜笑
2007-12-14
打赏
举报
回复
应该是引用位置不一样了吧?就是路径不一样了。
vrhero
2007-12-14
打赏
举报
回复
Active DLL?需要注册...去查查regsvr32.exe怎么用...
MagicStone2008
2007-12-14
打赏
举报
回复
非常感谢楼上的兄弟,谢谢你们的热心帮助。
MagicStone2008
2007-12-14
打赏
举报
回复
问题基本查明,我写了一个简单的Dll加载引用的应用程序,发现在装有Delphi的机子上可以正确加载Dll并且可以引用其接口,但在未装有Delphi的机子上就出现加载Dll就出现异常(加载Dll失败),到这里我觉得应该是Delphi编译的问题(没有把用到的动态链接库包含进来)。
MagicStone2008
2007-12-14
打赏
举报
回复
哦,你指的是我的web应用的默认当前路径,但是我在应用启动的时候就已经把应用当前路径设置到虚拟路径对应的物理路径上了[ Directory.SetCurrentDirectory(Context.Server.MapPath(Context.Request.ApplicationPath)); ]而且Directory.GetCurrentDirectory()也验证了,所以应该不是路径问题。
Lye2000000_super,dll的属性里有个复制到本地的选项改为true,有复制到本地的选项吗?
vrhero
2007-12-14
打赏
举报
回复
服务器端引用?你把它复制到%systemroot%\system32中试试...
我自横刀香甜笑
2007-12-14
打赏
举报
回复
你把那个引用的dll的属性里有个复制到本地的选项改为true。重新编译一下。再发布试试看,应该是位置不一样的。
MagicStone2008
2007-12-14
打赏
举报
回复
Delphi编译的时候没有把有些共享库包含进来会不会有这个可能?
Tassadar1979
2007-12-14
打赏
举报
回复
恩,看看.我也碰到过这样的问题.
MagicStone2008
2007-12-14
打赏
举报
回复
CGI扩展或ISAPI扩展我是禁用的,因为我是服务器端引用Dll,IIS的执行权限我也选择了脚本和可执行文件,还是加载不了
vrhero
2007-12-14
打赏
举报
回复
Dll文件的完全控制是Everyone
----------
文件权限是没用的...IIS对可执行文件有严格的限制...必须将网站应用程序设置中执行权限提升为允许可执行文件...
另外如果要从客户端访问该Dll还必须启用CGI扩展或ISAPI扩展...
MagicStone2008
2007-12-14
打赏
举报
回复
嗯,安全问题也是可能的,但是我已经设置了Dll文件的完全控制是Everyone,也不行,不知道是否还有其他安全需要设置?
大狼尾巴
2007-12-14
打赏
举报
回复
同意楼上的说法。
看看能否设置一下Web服务器上的安全。
vrhero
2007-12-14
打赏
举报
回复
Dll也是放在虚拟路径对应物理路径下的
------------
虚拟路径?MapPath?不是你的服务器?
应该是安全问题...不允许...你必须修改服务器设置...
MagicStone2008
2007-12-14
打赏
举报
回复
请高手帮忙啊
Ajax的三个
dll
文件
未能
加载
文件或程序集 system.
web
.extensions问题 的
dll
文件 安装asp.net Ajax后会有三个
dll
文件 System.
Web
.Extensions.Design.
dll
AjaxExtensionsToolbox.
dll
System.
Web
.Extensions.
dll
将这三个文件都添加到...
c#
实现动态
加载
Dll
//利用
dll
的路径
加载
,同时将此程序集所依赖的程序集
加载
进来,需后辍名.
dll
Assembly.LoadFile 只
加载
指定文件,并不会自动
加载
依赖程序集.Assmbly.Load无需后辍名 2、
加载
dll
后,需要使用
dll
中某类.Type type=ass
c#
语言 添加引用,
C#
中
加载
dll
并调用其函数的实现方法
那么,如何在程序中
加载
dll
并调用其中的函数呢?更进一步的,如何在主程序中对自己封装的
dll
中的函数进行调试呢?
加载
dll
-添加引用添加引用的意思是让程序生成时根据配置的路径去
加载
相应的
dll
。其引用的步骤如下图...
C#
中动态
加载
和卸载
DLL
在
C#
中我们也能使用 Assembly.LoadFile实现动态
加载
DLL
,但是当你试图卸载时,你会很惊讶的发现Assembly没有提供任何卸载的方法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以
C#
不提供释放资源的函数,...
c#
web
项目添加
dll
1. 右键 项目-添加-引用2.浏览-添加-.
dll
文件 3.完成
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章