我有很多SharePoint的SharePoint部分,所有這些都編譯爲任何CPU,他們在32位的SharePoint上運行良好,但移動到服務器2008在64位導致以下錯誤:32位二進制文件在Sharepoint 64位,試圖加載一個格式不正確的程序
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
從我的閱讀他們應該都工作正常?
我有很多SharePoint的SharePoint部分,所有這些都編譯爲任何CPU,他們在32位的SharePoint上運行良好,但移動到服務器2008在64位導致以下錯誤:32位二進制文件在Sharepoint 64位,試圖加載一個格式不正確的程序
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
從我的閱讀他們應該都工作正常?
因此,您的程序集及其所有依賴程序集和DLL都必須運行64位。
請注意,標記爲「任何CPU」的.NET程序集將在64位硬件上以64位運行。但是,任何本地DLL都需要本地編譯爲64位。
你不能混用32位和64位組件。你唯一的選擇是重建你的二進制文件到64位。
您可以在64位操作系統上運行32位二進制文件/庫,但又不能將它們混合在一起。
好的,謝謝,我將不得不再次探索一些代碼,並找出是否我們正在使用任何其他DLL可能導致問題的地方,我認爲唯一依賴是microsoft.sharepoint dll,並與64位sharepoint安裝這應該不成問題。 – Nath 2010-01-26 08:03:26
@Nathan,你是否依賴任何進程內COM對象?那些需要是64位(上面的#1點)。 – 2010-01-26 12:34:08
沒有COM的東西,沒有64位的dll,除了我們所做的,它們都是爲任何CPU編譯的,所以也應該工作,大部分工作正常,但只有一些Web部件有這個錯誤,如果你調試到他們,他們只是循環渲染函數。 – Nath 2010-01-28 11:42:52