在IIS7.5上发布web程序后,水晶报表不显示,js错误:bobj未定义,aspnet_client文件夹已经复制到程序主目录下了,什么原因?

解决方案 »

  1.   

    参考http://blog.csdn.net/zengxin2008/article/details/6722619
      

  2.   

    是在32bit系统+vs2010 开发的,现部署到64bit win2008上不好用。2008上安装了vs2010,安装的报表一直不好用,每新增一个水晶报表文件都会让下载。
      

  3.   

    水晶报表中,关于 “bobj”未定义 错误的解决办法。
    做的 Web 项目,使用的是 那个 接近 300兆的 CRforVS_13_0_1.exe  来开发的。
    服务器嘛。就安装了一个 70兆左右的  CRforVS_redist_install_32bit_13_0_1.zip  来处理。
    问题常常都是发生在  开发环境下面,一切正常,发布到 服务器上面, 就产生各种问题。
    今天就又碰到了。
     
    水晶报表在开发环境下面,运行得一切正常
    发布到服务器上面以后,白屏了。啥也没有。
    然后只好远程登录到服务器上面去跑一下,看看能有啥错误提示。
    结果是提示 :
    Microsoft JScript 运行时错误: “bobj”未定义
     
    心里面考虑着,本机正常,没报 JScript  错的啊。
    于是,把本机正常执行的页面,查看源代码。另存为文件。
    再把服务器上,抱错的页面,也查看源代码。另存为文件。
    然后用 WinMerge 对比这2个文件, 看看到底差异在哪里? 从而导致一个文件正常,一个文件抱错。
    对比到一个地址行差异的时候,发现了
    服务器上的是
    script src="/WebResource.axd?d=...
    开发机器上的是
    script src="/项目名称/WebResource.axd?d=...
    心想,会不会和这个有些关系呢?于是在项目上鼠标右键,选择 使用 IIS Express 服务器  (不使用 Visual Studio 开发服务器)
    使用 IIS Express 服务器以后,项目的地址变为  http://localhost:端口号
    不是原来的 http://localhost/项目名称/:端口号 了。
     
    再次在开发环境下面运行。
    终于,和服务器一样了,也出现了那个 
    Microsoft JScript 运行时错误: “bobj”未定义
    的错误。然后以  “bobj”未定义   作为关键字, 百度一下。
    了解到,原因是没有  aspnet_client 这个目录的原因。
    于是把本机的 C:\inetpub\wwwroot\aspnet_client 目录复制一下, 粘贴到 开发环境的项目目录下。
    然后再运行一下, 开发环境运行正常了。
    下一步嘛,就是把这个目录复制到服务器的 Web 项目的目录下
    运行一下, 服务器环境下,水晶报表终于也运行正常了。