七星揽月

Efforts To Make The Best Of Their……
一口吃不出一个胖子,但胖子却是一口一口吃出来的,只要能每天坚持下来,我相信,一定会有收获的
每天进步一点点
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

  最近开发一个项目,里面用到了PdfLibNet.dll这个组件来转图片,我的开发环境是windows server2003(32bit)的,当时开发后在自己机器上部署访问都是没有问题的,但是当部署到客户机器上时候,就出现了一个很严重的问题。如下图所示:

  3

    发现问题就要解决问题,于是通过google来寻找答案,还真有出现类似的问题,解决方案也大不一样,其中最常见的解决方法如下:

    解决方法:

    1.将应用程序 生成为 目标平台:Any CPU;
    2.程序部署到64bit的环境中去,把iis 应用程序池 --高级设置--启用32位应用程序 :true;

    这种方法是解决程序中引用文件不兼容的问题,是可以解决常见的asp.net中的”未能加载文件或程序集或它的某一个依赖项”这样的问题。但是问题又来了,这样的问题解决了兼容问题,那么部署到64bit的环境中会影响到已经存在的系统吗?这个我没尝试,希望有经验的朋友能给出答案。

    以上出现的问题和查找到的解决方法都无法解决我的问题,经过反复的研究,终于找到了解决我这里出现的问题的真正原因和解决方案,如下:

    原因:

    1.我们引用了32bit的PdfLibNet.dll文件,而服务器是64bit的,不兼容;

    2.在PdfLibNet.dll文档中也提到了,在引用此文件时确实会有此问题,即使引用64bit的PdfLibNet.dll也会如此;

    解决方法:

    1.引用64bit的PdfLibNet.dll;

    2.下载安装”vcredist_x64.exe”;

    我这里通过以上两步便将问题完全解决。 

   以下是解决问题中用到的资料文件:

   PdfLibNet.dll(32bit):http://download.csdn.net/detail/qixing_gan/4348710

   PdfLibNet.dll(64bit):http://download.csdn.net/detail/qixing_gan/4348719

   PDFlib-in-.NET-HowTo:http://download.csdn.net/detail/qixing_gan/4348732

   vcredist_x64.exe:http://www.microsoft.com/en-us/download/details.aspx?id=15336