2014-10-30 56 views

回答

0

你可以使用下面的代碼是:

CSOM(如C#)

ClientContext.ServerVersion 

的JavaScript:

SP.ClientContext.get_current().get_serverVersion() 
2

我知道這是一個古老的線程,但我需要的今天完全相同的功能,並沒有找到列表什麼屬性返回什麼情況。

的ClientContext對象有幾個特性有關,其是由微軟這樣解釋版本:

  • ClientContext.ServerVersion:獲取當前
    SharePoint服務器的版本。
  • ClientRuntimeContext.ServerLibraryVersion:獲取服務器上的版本號 Microsoft.SharePoint.Client.ServerRuntime.dll。
  • ClientRuntimeContext.ServerSchemaVersion:獲取服務器上的架構版本 Microsoft.SharePoint.Client.ServerRuntime.dll。
  • ClientRuntimeContext.RequestSchemaVersion:獲取設置請求的模式版本。如果未設置此值,則默認值 的值等於CurrentVersion屬性的值。對於 示例,對於運行Microsoft Office 2013的客戶端與運行Microsoft Office 2010的服務器通信 ,必須將值 RequestSchemaVersion設置爲「14.0.0.0」。否則,服務器 將拒絕該請求。

我沒有在C#中的一些測試與CSOM庫(v16.0.3104.1200 & v15.0.4711.1000),並連接到不同的SharePoint環境時,這些都是結果。這些子版本可能會有所不同,具體取決於SharePoint環境上安裝的更新。

SharePoint 2010: 
ClientContext.ServerVersion: 14.0.4762.1000 
ClientContext.ServerLibraryVersion: 14.0.4762.1000 
ClientContext.ServerSchemaVersion: 14.0.0.0 
ClientContext.RequestSchemaVersion: 14.0.0.0 

SharePoint 2013: 
ClientContext.ServerVersion: 15.0.4667.1000 
ClientContext.ServerLibraryVersion: 15.0.4667.1000 
ClientContext.ServerSchemaVersion: 15.0.0.0 
ClientContext.RequestSchemaVersion: 15.0.0.0 

Office 365: 
ClientContext.ServerVersion: 16.0.5701.1202 
ClientContext.ServerLibraryVersion: 16.0.5701.1202 
ClientContext.ServerSchemaVersion: 15.0.0.0 
ClientContext.RequestSchemaVersion: 15.0.0.0 

當與SP2010(v14.0.4762.1000)的CSOM庫測試你無法連接到Office 365環境(因爲它使用了不存在這些庫中SharePointOnlineCredentials)。此外,這些庫中還不知道屬性RequestSchemaVersion。連接到SP2010時的結果SP2013:

SharePoint 2010: 
ClientContext.ServerVersion: 14.0.4762.1000 
ClientContext.ServerLibraryVersion: 14.0.4762.1000 
ClientContext.ServerSchemaVersion: 14.0.0.0 

SharePoint 2013 
ClientContext.ServerVersion: 15.0.4667.1000 
ClientContext.ServerLibraryVersion: 15.0.4667.1000 
ClientContext.ServerSchemaVersion: 14.0.0.0 // (this one is different from above) 
相關問題