C# 无法加载文件或程序集“CrystalDecisions.CrystalReports.Engine”,版本=13.0.2000.0

C# 无法加载文件或程序集“CrystalDecisions.CrystalReports.Engine”,版本=13.0.2000.0,c#,sql,C#,Sql,我的控制台应用程序使用crystal Report.rpt生成报告。我引用了SAP crystal所需的dllCrystalDecisions.CrystalReports.Engine。当我运行那个控制台时,它运行得很好,并生成报告 现在。我有一个SQL Server代理作业,它运行该控制台应用程序的cmdexec.exe。当我运行作业时,它给我错误无法加载文件或程序集'CrystalDecisions.CrystalReports.Engine,Version=13.0.2000.0。请给我

我的控制台应用程序使用crystal Report.rpt生成报告。我引用了SAP crystal所需的dllCrystalDecisions.CrystalReports.Engine。当我运行那个控制台时,它运行得很好,并生成报告


现在。我有一个SQL Server代理作业,它运行该控制台应用程序的cmdexec.exe。当我运行作业时,它给我错误无法加载文件或程序集'CrystalDecisions.CrystalReports.Engine,Version=13.0.2000.0。请给我一些建议,我已经花了很多时间来解决这个问题

您的Crystal engine是32位的吗,或者您的SQL engine是64位的吗?是的,就是David:。实际上,Sql位于不同的服务器64位,而控制台应用程序位于不同的serverApp服务器上。那么如何解决这个问题呢。64位SQL Server无法加载32位DLL。不幸的是,据我所知没有解决办法。这只是64位和32位可执行文件的基本现实;64位可执行文件无法加载32位库。此回答是否有帮助-64位SQL Server与此错误无关,如果您正在执行CmdExec-这将启动一个新进程。我可以想到两个原因:1如果您是从共享运行exe,它可能与安全相关;2应用程序试图以64位启动,因为您尚未为x86目标平台编译它。