wcf 服务端 使用C++写的dll问题

chmdcr 2011-12-05 11:10:30
一个很奇怪的现象 在wcf服务端调用了一个c++写的动态库函数
然后添加客户端引用 当客户端引用使用的<http://localhost:端口号>的时候 可以按预期输出
但是当我配置好发布站点把客户端引用地址改为<http://本机IP/服务名>的时候程序就会报错 ,报的错与没有找到dll库时的报错是一样的 这到底是怎么回事呢?

调用c#写的dll就不会出现这种问题

难道调用c++写的dll 在发布时还要做什么特殊处理么?
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chmdcr 2011-12-06
  • 打赏
  • 举报
回复
解决了 感谢大家
是因为服务器是64位的 之前没注意
把站点参数改成允许32位程序就可以了
宝_爸 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 findcaiyzh 的回复:]

在浏览器中浏览<http://本机IP/服务名>,得到什么错误?

如果通过Dllimport调用的话,估计是路径问题。因为host在IIS中的asp.net,其当前路径,是c:\windows\microsoft.net\framework\v<版本>下得某个目录。

因此需要在Dllimport用绝对路径。
或者把 C/c++ dll所在的路径加到环境变量Path中去
[/Quote]

或者可以试一试将c/c++ dll放到c:\windows\system32中去。
足球中国 2011-12-05
  • 打赏
  • 举报
回复
当你发布时。好象不是应放在你程序的目录下,而是应放在wcf进程的目录下。
由于没测试。可能不堪正确。你还是亲测吧。
宝_爸 2011-12-05
  • 打赏
  • 举报
回复
在浏览器中浏览<http://本机IP/服务名>,得到什么错误?

如果通过Dllimport调用的话,估计是路径问题。因为host在IIS中的asp.net,其当前路径,是c:\windows\microsoft.net\framework\v<版本>下得某个目录。

因此需要在Dllimport用绝对路径。
或者把 C/c++ dll所在的路径加到环境变量Path中去
wushuai1346 2011-12-05
  • 打赏
  • 举报
回复
http://本机IP/服务名 这个是不是需要改为 http://本机IP:端口号/服务名 呢?

110,536

社区成员

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

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

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