2011-11-30 59 views
1

我的開發環境是運行Sharepoint 2010 Enterprise的Windows Server VM。我編寫了代碼以編程方式將webparts導出爲XML,以便存檔或重新導入其他地方。Sharepoint 2010使用舊的.dwp(v2)格式導出webparts

問題是,在我的開發環境中,webparts始終導出爲新的「v3」.webpart格式。但是,在我們的部署測試環境中,SPLimitedWebPartManager.ExportWebPart方法使用較舊的v2 .dwp格式導出任何和所有webpart(即使是開箱即用的Sharepoint webparts)。我可以告訴,因爲XML包含v2或v3 xmlns命名空間。由於與這個問題無關的原因,格式很重要(我們需要新的v3格式)。

環境之間唯一的區別(我可以說)是我的虛擬機正在運行Enterprise,而虛擬機部署環境正在運行Sharepoint Standard。據我所知,這不應該有所作爲。根據我發現的各種文檔,當使用舊的.Net類型時,舊的v2格式將用於向後兼容,但在這種情況下,每種情況都使用v2格式。

我甚至試着將備份恢復到我的虛擬機,但仍然看到相同的行爲。

是否有任何開關或任何會決定什麼webpart導出格式Sharepoint使用?

回答

0

我們確定,這個問題是由我們使用遷移從SharePoint 2003環境中的舊內容Metalogix(遷移管理器)的工具引起到SharePoint 2010

每Metalogix支持:

「客戶遇到的問題與我們用來創建Web部件的 架構不成問題。正是在2010年,他們完全改變了用於顯示 列表數據的Web部件的類型。在2007年和更早版本中,使用的Web部件是 「Microsoft.SharePoint.WebPartPages.ListViewWebPart」,這發生在 使用V2 Web部件架構進行序列化。雖然這個網絡的一部分 類型在SharePoint 2010中仍然存在,它已經轉而使用 「Metalogix.SharePoint.WebPartPages.XsltListViewWebPart」這看起來 幾乎相同的老ListViewWebPart但不同的發動機罩下工作的根本 (也是使用本身序列化新的 V3 Web部件架構)。

目前我們沒有任何一種從 ListViewWebParts自動升級到XsltListViewWebParts。這意味着如果您複製 列表視圖Web部件從2007年到2010年創建的Web部件將是 舊樣式的Web部件。用戶創建的 任何新的Web部件的目標網站將,當然,但新的類型。」

的據開發商響應,遷移管理器的SharePoint 2010目前不ListViewWebParts升級到 XsltListViewWebParts。

我們實施了一種解決方法,將導出的Web部件從舊的.dwp格式轉換爲新的.webpart格式。