无法加载文件或程序集CrystalDecisions.ReportAppServer.ClientDoc

我在SO上看过类似的问题,但据我所知,没有什么能与我的问题相提并论。

exception消息:

无法加载文件或程序集“CrystalDecisions.ReportAppServer.ClientDoc,Version = 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”或其中一个依赖项。 该系统找不到指定的文件。

该文件在我的GAC中。 我正在开发运行VS2010的32位机器(Windows 7),一切都是.NET4。 目标托管机器是64位Win 2008 R2。 我的本地机器有VS2010的CR安装; 托管机器具有VS2010的64位运行时。 我正在为此Web应用程序的“任何CPU”模式编译我的所有代码。

我在想它无法在GAC中找到该文件。 这是一个IIS应用程序; 是否存在某种权限问题? 我认为IIS可以访问GAC。

关于该做什么的一些建议将不胜感激。

事实certificate,答案非常简单,但却为何其必要而神秘化。

在服务器上的IIS管理器中,我将Web应用程序的应用程序池设置为不允许32位程序集。

在64位系统上,它似乎假定您必须要32位汇编。 离奇。

关于需要32位支持的64位系统。 我发现它并不那么奇怪:

虽然部署到64位系统,但这并不意味着所有引用的程序集都必须是64位Crystal Reports程序集。 除此之外,Crystal Reports程序集主要只是它们所基于的旧DLL集合的包装器。 主要引用的程序集需要许多32位DLL。 错误消息“无法加载程序集”也涉及这些DLL。 要直观地了解它们是什么,请访问www.dependencywalker.com并直接在该IIS服务器上运行相关程序集的“取决于”。

您只需在Deployment Server上安装Crystal Report Report运行时下载。 如果仍然出现问题,请将检查asp_client文件夹放在项目主文件夹中。