当前位置 主页 > iis相关 >

    iis发布后远程调用问题的解决方法

    栏目:iis相关 时间:2018-09-10 17:09

      【背景】
     
      上篇文章写了IIS如何在服务器发布的方法,发布了之后就会涉及到调用服务的问题,别人开发好的服务咱们只需在自己的WCF层调用即可。调用自己本地的服务是完全没有问题的,但从本地调用服务器上发布好的服务就会出现这样的异常:System.IO.FileLoadException:Couldnotloadfileorassembly'System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e,Retargetable=Yes。
     
      【原因】
     
      出现以上问题主要是由于程序引用的库引用了PCL(PortableClassLibrary)的库,该库可以让用户编写可以跨多个.netframework平台的托管库。简单理解为有些dll有支持PCL,所以reference的是2.0.5的版本,而通常在实际执行的时候会自动对应到正确的版本,测试机器没有事因为缺少KB2468871。可能是因为测试机器没有开对外的这个服务,所以没有跑WindowsUpdate才会导致这个KB没有被安装到。
     
      【解决方案】
     
      下载安装.NET4.0的更新程序就可以解决:NDP451-KB2858728-x86-x64-AllOS-ENU,查看了一下我自己的netframework版本如下:
     
      服务器上的版本:
     
      安装好了之后,即可解决此问题。