2009-12-08 107 views
0

我正在使用C#編寫的工具來幫助管理MOSS(Microsoft Office Sharepoint Server)。它可以通過使用sharepoint om提供的類來完成,例如命名空間Microsoft.SharePoint.Administration或Microsoft.Office.Server中的類。部署使用Sharepoint程序集的.Net應用程序

的具體組件是:
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
Microsoft.SharePoint.dll的

我的問題是如何在安裝此工具一個MOSS服務器,它可以在加載時找到它需要的程序集。 AFAIK這些程序集位於%ProgramFiles%\ Common Files \ Microsoft Shared \ web服務器擴展\ 12 \ ISAPI中,但它們也可能位於其他位置,無論管理員安裝了Sharepoint。

爲了解決那朵我能想到的有以下幾種:

  1. 安裝應用的%ProgramFiles%\ Common Files文件\ Microsoft共享\ web服務器extensions \ 12 \ ISAPI。這將適用於常見的情況,但它會將我的二進制文件與共享點混合在一起,我寧願避免這種情況。如果管理員爲Sharepoint選擇了不同的路徑,它也會失敗,但我可以通過在安裝時檢查註冊表以獲取正確的路徑來解決此問題。
  2. 將應用程序安裝到其自己的文件夾,並使用codeBase元素使用配置文件來引用MOSS程序集。
  3. 與我的應用程序一起部署MOSS程序集。他們將被複制到目標機器中。這應該有效,但有幾個問題:首先,我不確定我是否可以合法地重新分配dll,即使它們只在安裝了MOSS時才能工作;其次,這可能會導致另一個服務包出現問題,因爲我的重新分配的Dll和系統的版本會不同步。

有沒有人遇到過這個?你是如何解決它的?任何想法呢?

+0

這是一個基於Web的應用程序嗎?您正在部署到SharePoint服務器的Winforms應用程序? – 2009-12-09 00:34:48

+0

這是一個控制檯命令行工具。 – 2009-12-09 02:18:53

回答

1

這些程序集是否也部署到GAC? Microsoft.Office.Server位於GAC中,Microsoft.Sharepoint也是如此。

AFAIK Microsoft.Sharepoint。 管理不是一個dll。

+0

這是一個命名空間。我將編輯這個說明。 – 2009-12-09 02:18:23

+0

無論組件是否位於GAC中,運行時都會在部署時爲您找到它們。 請參閱http://support.microsoft.com/kb/837908 – RedDeckWins 2009-12-09 02:37:57

+0

他們是GAC是。我使用的調試版本與GAC中的簽名不同,這就是他們沒有找到的原因。現在它可以工作。 – 2009-12-09 06:58:54