Web应用程序如何引用64位程序集?
我有一个带有Web应用程序和类库的解决方案。类库设置为64位构建。默认情况下,Web应用程序是任何CPU ,但如果我构建并运行,则会出现以下错误:
无法加载文件或程序集“ClassLibrary64,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。尝试加载格式不正确的程序。
我无法在32位或任何CPU上运行项目 - 我正在与SharePoint 2010进行交互,并且网站必须以64位运行,否则SharePoint API无效。
有什么想法吗?
答案 0 :(得分:0)
IIS可能以32位运行。为什么不将类库构建为AnyCPU?
答案 1 :(得分:0)
这是因为您的Web应用程序正在被JIT编译为32位,因此您无法将64位程序集加载到工作进程中。
您需要将Web应用程序程序集编译为特定位数的原因很少。你需要将类库设置为x64,还是可以将其保留为AnyCPU?
此外,IIS是否在64位操作系统的64位机器上运行?如果其中任何一个只是32位,那么无论如何你都无法加载64位汇编。