2010-11-19 92 views
6

Web應用程序如何引用64位程序集?Visual Studio 2010 - 無法構建引用64位程序集的網站

我有一個Web應用程序和類庫的解決方案。類庫設置爲在64位上構建。默認情況下,Web應用程序是任何CPU,但如果我構建和運行,我得到以下錯誤:

Could not load file or assembly 'ClassLibrary64, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我不能運行在32位的項目或任何CPU - 我與SharePoint互動2010年和網站必須運行在64位或SharePoint API不起作用...

任何想法?

+0

你能解決這個問題嗎?我正在處理完全相同的問題...... – Kobi 2011-03-16 06:07:37

回答

0

IIS可能運行的是32位。爲什麼不建立類庫作爲AnyCPU?

+1

SharePoint對象模型(api's)是64位,使用它的項目必須編譯爲64(不是anycpu)。 – David 2010-11-20 12:56:02

0

這將是因爲您的Web應用程序正被JIT編譯爲32位,因此您無法將64位程序集加載到工作進程中。

爲什麼需要將Web應用程序集編譯爲特定位數的原因很少。你需要將類庫改爲x64,還是可以將它保留爲AnyCPU?

此外,IIS是否在64位操作系統的64位機器上運行?如果只有32位,那麼無論如何你都不能加載64位程序集。

+2

我對SharePoint 2010對象模型運行代碼並通過wcf服務公開。 SharePoint 2010是64位,因此此類代碼必須編譯爲64位。這裏的問題是我需要通過Web服務與64位項目進行交互。不幸的是我不能離開AnyCpu。 – David 2010-11-20 12:55:10

相關問題