0

我正在使用SharePoint域。有時我需要爲事件接收器和Windows服務等進行開發。Microsoft SharePoint的64位DLL正在32位機器上運行

上週我在我的服務器上安裝了Windows服務以從本地文件夾上傳文檔。服務器是64位計算機,「服務器2008 R2」作爲運行SharePoint Foundation 2010的操作系統安裝在服務器上。服務正常運行。

要求是,沒有用戶會去服務器上傳文件。所以我已經在本地用戶機器上安裝了該服務。一些用戶使用32位機器和32位操作系統,其他用戶使用64位。在安裝服務時,我在32位機器上遇到錯誤。錯誤是「此解決方案適用於64位機器」。將目標平臺從64位更改爲x86後,該服務在32位機器上成功安裝並開始正常工作。

現在問題就來了:

  • 要使用SharePoint對象模型的工作,我使用SharePoint 64位
    DLL中安裝了32位機和32 位操作系統在我的Windows服務。
  • 64位DLL可能在32位機上工作嗎?
  • 在什麼情況下我們可以面對「64位dll不會 在32位機上工作」的問題?
  • 如果我想在64位 和32位機器上安裝相同的解決方案,該怎麼辦?我不想每次都更改目標平臺 。

UPDATE:

ř& d後,我發現參閱http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm 「32位溶液可在64位DLL與一些條款和條件進行安裝」。

在64位機器中,我們使用Program x86和SysWOW64文件夾來處理32位dll功能。

現在的問題是:

我們如何處理在32臺機器上的64位的DLL?

是否確認SharePoint dll是「任何CPU」?

問候。

回答

0

不知道我理解你正在嘗試做的,所以我會盡量詳盡:

  • SharePoint對象模型只有在SharePoint服務器,而不是用戶的工作站上可用。他們確實依賴64位的DLL,只能在64位操作系統上工作。

  • SharePoint 2010允許您使用在遠程計算機上工作的「客戶端對象模型」,如使用工作站。它們是.Net DLL,不是特定於32位或64位的。只需編譯您的exe文件,並使用「任何CPU」,它就可以正常工作

  • 一般來說,64位exe僅適用於64位操作系統。在.Net中,您可以使用適用於32位和64位的「任何CPU」。然而,這隻會在你的exe和它的依賴完整時才起作用.Net(沒有本地代碼)。

+0

Thanks @Nico。我做了一些研發。有人在問題主體中添加了評論(請參閱「更新」)。 – MAK

+0

我的答案仍然適用。客戶端對象模型是任何cpu。 SharePoint Server對象模型僅適用於SharePoint服務器,不適用於遠程計算機。 – Nico

+0

是的,但我有點困惑,請參閱下面的問題。 如果我想在64位和32位計算機上安裝相同的解決方案,應該怎麼做?我不想改變目標平臺。 我正在討論具有SharePoint dll的解決方案。 – MAK

相關問題