Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ReportDocument构造函数引发的TypeInitializerException_Asp.net_.net_Crystal Reports_32bit 64bit - Fatal编程技术网

Asp.net ReportDocument构造函数引发的TypeInitializerException

Asp.net ReportDocument构造函数引发的TypeInitializerException,asp.net,.net,crystal-reports,32bit-64bit,Asp.net,.net,Crystal Reports,32bit 64bit,我有一个ASP.NET web应用程序,它引用了32位Crystal Reports运行时中的程序集。(从CRRedist2008_x86.msi安装) 部署它的服务器具有64位Crystal Reports运行时。 包含CrystalReportViewer的表单引发以下异常: System.TypeInitializationException:的类型初始值设定项 “CrystalDecisions.CrystalReports.Engine.ReportDocument”抛出 例外。-->

我有一个ASP.NET web应用程序,它引用了32位Crystal Reports运行时中的程序集。(从CRRedist2008_x86.msi安装) 部署它的服务器具有64位Crystal Reports运行时。 包含CrystalReportViewer的表单引发以下异常:

System.TypeInitializationException:的类型初始值设定项 “CrystalDecisions.CrystalReports.Engine.ReportDocument”抛出 例外。-->System.UnauthorizedAccessException:检索COM 使用CLSID为组件初始化工厂 {5FF57840-5172-4482-9CA3-541C7878AE0F}由于以下原因失败 错误:80070005。在 CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()---结束 内部异常堆栈跟踪的类型---at CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()位于 [qualifiedFormName]\u加载(对象发送方,事件参数e)

虽然我意识到使开发环境与运行时环境完全相同是理想的解决方案,但我希望有一些方法可以解决这个问题,而不必升级开发环境

在服务器上更新web.config中对Crystal Reports程序集的引用有效吗?

  • 打开windows注册表(Regedit.exe)
  • 搜索5FF57840-5172-4482-9CA3-541C7878AE0F
  • 您应该找到一个键,展开它并转到每个子节点,直到找到安装路径
  • 转到该路径(通常是C:\Program…\Business Objects…\bin…)
  • 授予ASP.NET、IIS工作进程、匿名Web用户进程帐户的完全权限

    你该走了


谢谢!由于我没有直接访问服务器的权限,我可能应该要求托管机构的技术团队这样做。如果我错了,请纠正我,但托管机构不会反对在共享服务器上授予上述权限吗?关于此方法的受限权限,您是正确的。幸运的是,我们在开发人员机器上遇到了这个问题,而不是在服务器上。但即使它发生在服务器上,我们也可以完全访问,因为它是一个内部云。云Azure平台中也提出了类似的权限和高级服务器控制问题。这是创建Azure网站(您无法控制运行它的VM)与创建安装了IIS的Azure虚拟PC之间的主要区别。