Crystal报告从Windows服务无法在Windows Server 2012上运行,但在IIS中运行

时间:2014-05-21 18:13:21

标签: .net crystal-reports windows-server-2012 crystal-reports-2010

我在Windows Server 2012上运行了一个Windows服务,当它尝试生成水晶报告时,我收到此错误:

System.IO.FileNotFoundException: Could not load file or assembly 
    'CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral,
    PublicKeyToken=692fbea5521e1304' or one of its dependencies. 
    The system cannot find the file specified.
File name: 'CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, 
    Culture=neutral, PublicKeyToken=692fbea5521e1304'

我还在同一服务器上的IIS中运行了一个Web应用程序,它可以在那里运行水晶报告。

将相同的代码部署到其他计算机并且运行正常,因此我确定它是部署/配置的事情,我只是不确定要检查什么。

我使用从here安装的Visual Studio Crystal Runtime。

到目前为止检查:

  • Crystal报告运行时已安装32位。 IIS应用程序在32位应用程序池中运行。我的Windows服务(c#.net).exe编译为32位,我通过任务管理器确认它是以32位进程运行
  • 我的服务正在以LOCAL SYSTEM身份运行
  • LOCAL SYSTEM完全控制c:\ windows \ temp文件夹
  • 我可以在GAC中找到正确的Crystal Reports文件,位于c:\ windows \ assembly \ GAC_MSIL \ CrystalDecisions.CrystalReports.Engine
  • 下面

Server 2012上有什么东西阻止进程使用CrystalReports吗?

有关故障排除的任何提示都非常感谢!

1 个答案:

答案 0 :(得分:0)

最终它开始在服务器上工作,没有任何特定的操作。由于我无法控制服务器,因此无法确定是什么触发它开始工作。我猜这只是另一次重启。当我被告知之前重新启动它实际上没有时,这是一个很小的机会。在IIS上我发现有时只需要一段时间IIS才能找到Crystal Runtime:即使安装后它也无法立即运行报告。也许这是一件类似的事情,无论是什么。