我已经查看了关于 SO 的类似问题,但据我所知,没有什么能完全符合我的问题.
I've looked at similar questions on SO, but nothing quite matches my issue as far as I can tell.
异常信息:
无法加载文件或程序集CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"或其依赖项之一.系统找不到指定的文件.
Could not load file or assembly 'CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
文件在我的 GAC 中.我正在运行 VS2010 的 32 位机器(Windows 7)上开发,一切都是 .NET4.目标主机是 64 位 Win 2008 R2.我的本地机器安装了 VS2010 的 CR;主机具有 VS2010 的 64 位运行时.我正在为此 Web 应用程序以任何 CPU"模式编译所有代码.
The file is in my GAC. I am developing on a 32 bit machine (Windows 7) running VS2010, everything is .NET4. The target hosting machine is 64-bit Win 2008 R2. My local machine has the CR installation for VS2010; the hosting machine has the 64-bit runtimes for VS2010. I am compiling all my code in "Any CPU" mode for this web application.
它在 GAC 中找不到文件,这让我大吃一惊.这是一个 IIS 应用程序;是否存在某种权限问题?我认为 IIS 可以访问 GAC.
It is blowing my mind that it cannot find the file in the GAC. This is an IIS application; is there some sort of permissions issue? I would think IIS would have access to the GAC.
我们将不胜感激.
事实证明答案简单得离谱,但令人费解的是为什么它是必要的.
It turns out the answer was ridiculously simple, but mystifying as to why it was necessary.
在服务器上的 IIS 管理器中,我将我的 Web 应用程序的应用程序池设置为不允许 32 位程序集.
In the IIS Manager on the server, I set the application pool for my web application to not allow 32-bit assemblies.
它似乎假设,在 64 位系统上,您必须需要 32 位程序集.奇怪.
It seems it assumes, on a 64-bit system, that you must want the 32 bit assembly. Bizarre.
这篇关于无法加载文件或程序集 CrystalDecisions.ReportAppServer.ClientDoc的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!