ReportViewer 2010,IO .Exception \

时间:2015-05-18 18:42:22

标签: .net report-viewer2010

我有一个问题我已经得出结论它是基于机器的,但是我想知道,如果它出现在另一台机器上怎么解决它。

我开发了我使用(.NET 4)安装的WPF项目Installshield LE。该程序的先决条件也是ReportViewer 2010,我之前安装(如果需要)。

我已将程序安装到以下机器上:

  1. Windows 7 64位SP1
  2. Windows 7 32位
  3. Windows XP SP3(案例1)
  4. Windows XP SP3(案例2)
  5. Windows XP SP3(案例3)
  6. 在上述所有机器中,我的报告运行得很好,除了#5(案例3),我得到以下错误:

     Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. ---> 
        Microsoft.Reporting.DefinitionInvalidException: The definition of the report '' is invalid. ---> 
        Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. ---> 
        System.IO.IOException: The process cannot access the file 'C:\Documents and Settings\<WindowsLogOnName>\Local Settings\Temp\expression_host_2e380b8068bb4ef5a53225faab4ebcb4.dll' because it is being used by another process.
    

    所有机器都使用相同的数据库,我测试的报告在每种情况下都是相同的。

    之前是否有人遇到此错误并且有任何线索?

1 个答案:

答案 0 :(得分:3)

我听说过恶意软件和防病毒程序阻止访问localreport临时文件,因为报表中的表达式基本上都是VBScript。尝试禁用这些并再次尝试。 Here is the only source I have found on this

否则,有几件事要尝试:

  1. 检查RDLC和临时文件的文件权限。 NETWORK SERVICES以及ASP.NET用户帐户需要访问这些。确保它具有完全控制权,因为它需要执行权限以及读写权。
  2. 检查磁盘空间
  3. 尝试使用进程监视器(例如Process Explorer)来查看是否有任何其他程序保留在文件句柄上。
  4. 尝试删除临时文件并重新启动或回收应用程序池。
  5. 也许会搜索您的活动查看者,以找到有关该问题的更多信息?
  6. 如果这些都不起作用,您最好直接向MS报告问题。