C# 本地IIS的Crystal报表加载错误
我正在尝试在我的新web应用程序中使用Crystal Reports。 我在一个老项目(VS2008)中使用了它,效果非常好 现在我想在Visual Studio 2015的新web应用程序中使用它。 我安装了Crystal report,版本为“v.13.0.15.1840” 在我的项目中,我从Nuget Manager安装了Crystal.Report.Essentials 我的代码如下所示: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(
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位。还是不行。