Sharepoint 2010使用旧的.dwp(v2)格式导出webpart

时间:2011-11-30 21:41:48

标签: xml sharepoint sharepoint-2010 web-parts

我的开发环境是运行Sharepoint 2010 Enterprise的Windows Server VM。我编写了代码,以编程方式将webparts导出为XML,用于存档或在其他地方重新导入。

问题是,在我的开发环境中,webparts始终导出为新的“v3”.webpart格式。但是,在我们的部署测试环境中,SPLimitedWebPartManager.ExportWebPart方法使用旧的v2 .dwp格式导出任何和所有webpart(甚至是开箱即用的Sharepoint webparts)。我可以说,因为XML包含v2或v3 xmlns命名空间。由于与此问题无关的原因,格式很重要(我们需要新的v3格式)。

环境之间的唯一区别(我可以说)我的VM正在运行Enterprise,而dev部署环境正在运行Sharepoint Standard。据我所知,这不应该有所作为。根据我发现的各种文档,当使用较旧的.Net类型时,较旧的v2格式将用于向后兼容,但在这种情况下,每种情况下都使用v2格式。

我甚至尝试将网站备份恢复到我的VM,但仍然看到相同的行为。

是否有任何开关或任何可以决定Sharepoint使用哪种webpart导出格式的开关?

1 个答案:

答案 0 :(得分:0)

我们确定此问题是由我们用于将旧内容从Sharepoint 2003环境迁移到Sharepoint 2010的Metalogix(迁移管理器)工具引起的。

Per Metalogix支持:

  

“客户遇到的问题不是问题   我们用于创建Web部件的架构。就是在SharePoint中   2010年,他们彻底改变了用于展示的网络部分的类型   列表数据。 2007年及之前,使用的网络部分是   碰巧的“Microsoft.SharePoint.WebPartPages.ListViewWebPart”   使用V2 Web部件架构序列化自身。虽然这个网络部分   类型仍存在于SharePoint 2010中,它已切换为使用   看起来“Metalogix.SharePoint.WebPartPages.XsltListViewWebPart”   几乎与旧的ListViewWebPart相同,但从根本上起作用   引擎盖下的不同(并使用新的序列化自己   V3 Web部件架构)。

     

目前我们没有任何类型的自动升级   ListViewWebParts到XsltListViewWebParts。这意味着如果你复制   列表视图Web部件从2007年到2010年创建的Web部件将是   旧式的网页部分。用户创建的任何新Web部件   当然,目标网站将是新类型。“

     

根据开发人员的回复,Migration Manager for SharePoint   2010年目前没有将ListViewWebParts升级到   XsltListViewWebParts。

我们实施了一种解决方法,将导出的Web部件从旧的.dwp格式转换为新的.webpart格式。