一个很奇怪的现象 在wcf服务端调用了一个c++写的动态库函数
然后添加客户端引用 当客户端引用使用的<http://localhost:端口号>的时候 可以按预期输出
但是当我配置好发布站点把客户端引用地址改为<http://本机IP/服务名>的时候程序就会报错 ,报的错与没有找到dll库时的报错是一样的  这到底是怎么回事呢?调用c#写的dll就不会出现这种问题难道调用c++写的dll 在发布时还要做什么特殊处理么?

解决方案 »

  1.   

    http://本机IP/服务名 这个是不是需要改为 http://本机IP:端口号/服务名 呢?
      

  2.   

    在浏览器中浏览<http://本机IP/服务名>,得到什么错误?如果通过Dllimport调用的话,估计是路径问题。因为host在IIS中的asp.net,其当前路径,是c:\windows\microsoft.net\framework\v<版本>下得某个目录。因此需要在Dllimport用绝对路径。
    或者把 C/c++ dll所在的路径加到环境变量Path中去
      

  3.   

    当你发布时。好象不是应放在你程序的目录下,而是应放在wcf进程的目录下。
    由于没测试。可能不堪正确。你还是亲测吧。
      

  4.   


    或者可以试一试将c/c++ dll放到c:\windows\system32中去。