我的开发环境是运行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导出格式的开关?
答案 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格式。