C# 本地IIS的Crystal报表加载错误

C# 本地IIS的Crystal报表加载错误,c#,iis,crystal-reports,visual-studio-2015,C#,Iis,Crystal Reports,Visual Studio 2015,我正在尝试在我的新web应用程序中使用Crystal Reports。 我在一个老项目(VS2008)中使用了它,效果非常好 现在我想在Visual Studio 2015的新web应用程序中使用它。 我安装了Crystal report,版本为“v.13.0.15.1840” 在我的项目中,我从Nuget Manager安装了Crystal.Report.Essentials 我的代码如下所示: ReportDocument rptEHBOFiche = new ReportDocument(

我正在尝试在我的新web应用程序中使用Crystal Reports。 我在一个老项目(VS2008)中使用了它,效果非常好

现在我想在Visual Studio 2015的新web应用程序中使用它。 我安装了Crystal report,版本为“v.13.0.15.1840” 在我的项目中,我从Nuget Manager安装了Crystal.Report.Essentials

我的代码如下所示:

ReportDocument rptEHBOFiche = new ReportDocument();
rptEHBOFiche.Load("C:\\TEMP\\InputFiche.rpt");
每次我收到报告加载失败的错误消息时。 我尝试了其他途径,但没有任何效果

有人有解决办法吗

编辑: 我找到了问题,但没有找到解决方案。 问题是,如果我的项目在本地ISS上,这就不起作用了。如果是在国际空间站快车上,我没问题


我已将应用程序池设置为也启用32位应用程序。

您可以尝试以下代码吗

if File.Exists ("C:\\TEMP\\InputFiche.rpt")
  rptEHBOFiche.Load("C:\\TEMP\\InputFiche.rpt"); 
else 
  throw new Exception ("wrong path");
编辑2答案

在中,“安装可执行文件”是Crystal Reports Visual Studio集成。“MSI 64位”是IIS运行时。

安装MSI 64位以使IIS正常工作。不要在32位应用程序上浪费时间,64位应用程序非常好。

你能试试下面的代码吗

if File.Exists ("C:\\TEMP\\InputFiche.rpt")
  rptEHBOFiche.Load("C:\\TEMP\\InputFiche.rpt"); 
else 
  throw new Exception ("wrong path");
编辑2答案

在中,“安装可执行文件”是Crystal Reports Visual Studio集成。“MSI 64位”是IIS运行时。

安装MSI 64位以使IIS正常工作。不要在32位应用程序上浪费时间,64位应用程序非常好。

我找到了解决方案:
我需要授予我的应用程序池对c:\Windows\Temp文件夹的完全权限,我找到了解决方案
我需要授予我的应用程序池对c:\Windows\Temp文件夹的完全权限,它在加载功能中,文件存在。它在加载功能中,文件存在。请看我的第二个答案。我安装了可执行文件,还有MSI 64位。仍然不起作用。看看我的第二个答案。我安装了可执行文件,还有MSI 64位。还是不行。