为什么Crystal Reports在IIS7中抛出LoadSaveReportException,但在Cassini/桌面应用程序中有效?
我有一个方法,加载Crystal Reports文件,设置适当的登录信息,然后生成PDF为什么Crystal Reports在IIS7中抛出LoadSaveReportException,但在Cassini/桌面应用程序中有效?,iis,iis-7,crystal-reports,Iis,Iis 7,Crystal Reports,我有一个方法,加载Crystal Reports文件,设置适当的登录信息,然后生成PDF ReportDocument rep = new ReportDocument(); rep.Load(...); // Set table LogOnInfo rep.ExportToStream(ExportFormatType.PortableDocFormat); // Save the PDF to disk or return it as web request 这段代码在两种情况下都适
ReportDocument rep = new ReportDocument();
rep.Load(...);
// Set table LogOnInfo
rep.ExportToStream(ExportFormatType.PortableDocFormat);
// Save the PDF to disk or return it as web request
这段代码在两种情况下都适用
CRRedist…
,因此有人忘记了在某处更新消息:)
那么,为什么在上面列出的两种情况下运行引用相同程序集的相同代码可以工作,而在部署的网站中却不能工作呢
我发现授予IIS用户对临时文件夹的写访问权,Crystal运行时似乎在那里做了一些工作,但即使在授予IIS\u IUSR
或IIS AppPool\DefaultAppPool
对%temp%
的完全访问权后,我仍然会收到相同的错误
我还尝试将应用程序池更改为使用我的帐户作为身份,但仍然收到相同的错误消息,因此我不认为这是权限问题。结果表明,对于10.5之后的任何较新版本的Crystal Reports(与VS2008捆绑的版本),都没有64位运行时 “简单”的解决方案是将应用程序池设置为32位,然后一切正常
还有更多的解释(以及预期的愤怒反应)您必须安装CR版本13,下载msm并使用VSS构建安装程序。最后在服务器上执行安装程序(您构建的)
祝你好运 我知道这是几年后的事了,但我现在正努力解决这个问题,试图让在Windows 2003 R2服务器(64位)上运行良好的ASP.NET 2.0应用程序现在在Windows 2008 R2服务器上运行。我想知道的是如何使应用程序池成为32位?@Rod For IIS 6请尝试“cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64”或“cscript%SystemDrive%\inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 1”