簡體   English   中英

C#無法加載文件或程序集“Microsoft.SharePoint.Library”

[英]C# Could not load file or assembly 'Microsoft.SharePoint.Library'

我正在開發64位版本的Windows 7,運行MOSS(SharePoint),這是我的開發機器。

現在,當我將我的Web服務應用程序部署到測試服務器Windows 2003 32位(沒有安裝Sharepoint)時,我收到此錯誤。

無法加載文件或程序集“Microsoft.SharePoint.Library,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其依賴項之一。 該系統找不到指定的文件

DLL已明確復制到bin目錄(Microsoft.Sharepoint.dll)。

有任何想法嗎?

如果您使用的是sharepoint dll,它只能在安裝了sharepoint的計算機上運行。

即使你設法破解它並使其工作,你可能會違反許可協議。

有一種方法可以在Windows XP,Vista或Seven的開發控制台中加載Sharepoint庫。

見這里: http//fernandof.wordpress.com/2008/02/11/how-to-install-the-sharepoint-2007-vs-2005-extensions-on-a-workstation/

[O]寫下regedit並創建以下鍵和​​字符串值:

 [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Shared Tools\\Web Server Extensions\\12.0] "Sharepoint"="Installed" 

而已! 你已經欺騙了安裝程序在工作站上運行。 簡單。 我還建議使用gacutil將核心SharePoint程序集添加到[GAC]中。 默認情況下,可以在文件夾下的任何[SharePoint]計算機中找到這些程序集: C:\\Program Files\\Common Files\\Microsoft Shared\\web server extensions\\12\\ISAPI

這幾乎肯定是一個依賴問題。 DLL依賴於另一個不在GAC或探測路徑上的DLL。 您需要解決的兩個工具是FUSLOGVW.EXE和Process Monitor

Fusion Log查看器允許您在應用程序加載時查看程序集綁定的成功和失敗。 它是Windows SDK的一部分。

http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx

FUSLOGVW需要admin privs才能正常運行。

如果這不起作用,另一種策略是使用進程監視器來查看哪些文件沒有被加載以及正在搜索哪些文件夾。

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

然而。 如果沒有安裝SharePoint,我不希望這個工作。

阿德

來自MSDN:“Training Management應用程序的CI構建環境不執行任何需要SharePoint實時實例的測試。所有單元測試都使用替換實際SharePoint實例和服務的模擬。構建代碼並僅運行單元測試要求在CI構建服務器上安裝以下SharePoint程序集:

Microsoft.SharePoint程序

Microsoft.SharePoint.Security

Microsoft.SharePoint.WorkflowActions

支持引用的程序集“

http://msdn.microsoft.com/en-us/library/ff647619.aspx

不要將64位和32位混合用於開發/測試/生產。 如果有的話,這將永遠不會可靠。

那么Sharepoint dll引用的其他dll呢? 對於長依賴鏈,診斷這些問題可能非常困難。 在這種情況下,我發現融合日志查看器非常有用。 它是框架SDK的一部分 - 打開SDK命令提示符並鍵入fuslogvw。 從那里很明顯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM