我在SO上看过类似的问题,但据我所知,没有一个问题完全符合我的问题。
异常消息:
无法加载文件或程序集“CrystalDecisions.ReportAppServer.ClientDoc,Version=13.0.2000.0,Culture=neutral,PublicKeyToken=692fbea5521e1304”或其依赖项之一。系统找不到指定的文件。
该文件在我的GAC中。我是在32位机器(Windows7)上开发的,运行VS2010,一切都是.NET4。目标主机是64位Win 2008 R2。我的本地计算机安装了用于VS2010的CR;宿主计算机安装了用于VS2010的64位运行时。我正在编译我的所有代码在“任何CPU”模式下的这个web应用程序。
它在GAC中找不到文件,这让我大吃一惊。这是一个IIS应用程序;是否存在某种权限问题?我认为IIS应该可以访问GAC。
如果能给出一些建议,我们将不胜感激。
发布于 2012-04-04 22:26:22
事实证明,答案非常简单,但令人费解的是,为什么它是必要的。
在服务器上的IIS管理器中,我将web应用程序的应用程序池设置为不允许32位程序集。
它似乎假定,在64位系统上,您必须需要32位程序集。很奇怪。
发布于 2012-04-04 06:50:56
1)将您的.net配置文件从客户端配置文件更改为.Net Framework4.0 http://msdn.microsoft.com/en-us/library/bb398202.aspx
2)检查您的嵌入互操作类型标志
发布于 2012-04-07 12:40:59
关于需要32位支持的64位系统。我不觉得这很奇怪:
尽管部署到64位系统,但这并不意味着所有引用的程序集都必须是64位Crystal Reports程序集。此外,Crystal Reports程序集在很大程度上只是它们所基于的遗留DLL集合的包装器。主要引用的程序集需要许多32位DLL。错误消息“无法加载程序集”也涉及这些DLL。要直观地查看这些是什么,请转到www.dependencywalker.com并直接在IIS服务器上运行“依赖于”相关的程序集。
https://stackoverflow.com/questions/10001310
复制相似问题