关于C#编写com组件,供ASP使用的问题。

心云意水 2012-01-09 02:21:56
目标:用c#写一个com供ASP调用
特殊部分:这个com组件要调用第三方dll
问题:再不调用第三方dll的时候,组件运行正常,asp可正常调用。但是一旦涉及到调用第三方dll的方法时,asp会提示出错:
未能加载文件或程序集“itextsharp, Version=5.1.3.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca”或它的某一个依赖项。系统找不到指定的文件。

换了个方法测试,写了个vbs脚本,调用自己写的com组件,发现运行正常,但是ASP调用就出错!

求高手指点迷津

另外多问句:
修改com重新生成dll后,用regasm注册,然后用Gacutil添加入全局缓存。发现用vbs调用组件的方法,可以看出是更新后的,但是用asp调用,还是旧的,这个是什么问题?
...全文
162 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
心云意水 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 samsone 的回复:]

引用 1 楼 fangxinggood 的回复:
因为权限不同吧。是不是要用 dcomcnfg 为 asp 的运行用户授权?


要么就是引用Dll的路径问题、 我遇到过类似的情况
[/Quote]

请问引用路径应该怎么设置?我现在把自己写的dll和引用的dll,放在一起的,都在c:\根目录,注册的时候直接就是regasm c:\my.dll这样,然后这两个dll同时也放入c:\windows\system32\,但还是报错。
心云意水 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]

因为权限不同吧。是不是要用 dcomcnfg 为 asp 的运行用户授权?
[/Quote]

dcomcnfg里边根本就找不到我自己用c#写的com啊。。。。我还觉得奇怪。不用配置权限都能直接用。。。。
samsone 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]
因为权限不同吧。是不是要用 dcomcnfg 为 asp 的运行用户授权?
[/Quote]

要么就是引用Dll的路径问题、 我遇到过类似的情况
机器人 2012-01-09
  • 打赏
  • 举报
回复
因为权限不同吧。是不是要用 dcomcnfg 为 asp 的运行用户授权?
心云意水 2012-01-09
  • 打赏
  • 举报
回复
详细说明:
我是用vs2005(c#)开发的com,在工程里引用了这个第三方的itextsharp.dll,操作步骤是项目-〉添加引用-〉浏览-〉选择itextsharp.dll(c:\itextsharp.dll),确定。然后编码完成后,发布my.dll。把my.dll复制到c:\,然后regasm c:\my.dll,gacutil /i c:\my.dll。同一台机器,通过vbs脚本可以正确创建对象并运行方法。但是在asp里调用,就会报错:未能加载文件或程序集“itextsharp……”或它的某一个依赖项。系统找不到指定的文件。。

网上搜索得到一个提示说:““操作为潜入的资源”是c#引用dll的一种方式,你的也是c#的吗?不是的话是不行的。”,是不是这步出了问题?

ps:目标机和开发机是同一台,2个dll不仅在c:\存在,同时还copy到c:\windows\system32\。但就是如上问题。。。

求高人现身啊!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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