2010年4月7日,星期三

SP2010支持和SharePoint内容部署向导修补程序

I’ve已将内容部署向导的更新版本发布到Codeplex(2.8版)– 此版本支持SharePoint 2010。内容部署向导是我相当流行的工具,用于在SharePoint环境中移动内容– if you 有 n’在此之前,您可以选择网站集,网站,列表,文件夹,文件或列表项,以导出到文件中以导入其他地方:

的SharePointContentDeploymentWizard

此版本有两个目的:

  1. 修复‘Object reference’先前版本(2.7)常见的错误

    我花了一些时间才意识到,但这经常发生,如果经常使用2.7,您很可能已经看到了这个问题-道歉。看来这是由 亚历克斯 在他为该发行版贡献的代码中,但这是一个不寻常的线程错误,坦率地说,’m sure if I’d编写了可能也会打我的代码!再次感谢您的贡献,Alex。

  2. 的SharePoint 2010支持

    好吧,所以我在文章开始时就有点说实话– in fact 所有 版本的工具已经支持SharePoint2010。这是因为Microsoft中没有重大更改’我的代码在2007-2010年之间使用的s API,’在.exe.config文件中需要几个条目来重定向拾取的程序集。但是它’很难在本文的标题或第一句话中传达该信息,而我’我发现那些不这样做的人’不了解 .Net程序集重定向 只是不要’t believe I didn’t 有 to ‘创建支持2010的新版本’ :) That said, I 进行了一些改进以使其更容易:

    -2.8安装程序会为您添加适当的BindingRedirect条目到配置文件中,但已被注释掉。如果要在SP2010上安装,只需取消注释这些即可
    -2.8安装程序可将stsadmcommands.COB.SPDeploymentWizard.xml文件正确安装到 14\ CONFIG目录(如果已安装)(例如,因为已安装SharePoint 2010)以确保STSADM命令正常运行

    作为参考,SP2010所需的.exe.config文件条目为:
    <!-- Uncomment this section to use the Wizard with 的SharePoint 2010 - this will ensure the 的SharePoint 2010 assemblies are used. -->
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
                <assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" culture="neutral" />
                <bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" />
            </dependentAssembly>
            <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
                <assemblyIdentity name="Microsoft.SharePoint.Publishing" publicKeyToken="71e9bce111e9429c" culture="neutral" />
                <bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    N.B.如果您想知道从11.0.0.0而不是12.0.0.0开始的版本范围,这就是Microsoft在其BindingRedirects中使用自己的模式。
向导的2.8版本可以从以下位置下载 http://spdeploymentwizard.codeplex.com/releases/view/42380 –如果您遇到问题(无论是在SharePoint 2007还是2010上),请告诉我。 

11条评论:

约书亚记 说过...

因此...是否可以使用此工具从2007迁移到2010。从一台服务器/安装迁移到另一台服务器/安装?我正在寻找一种无需重新构建所有内容的方法。

克里斯·奥'Brien 说过...

@约书亚

否-您赢了'不能使用Content Deployment(通过我的前端屏幕或即用型屏幕)从2007年到2010年使用。如您所料,两个版本之间有很多架构更改。

您需要研究从2007-2010年升级的标准方法(例如数据库附加)。

HTH,

克里斯。

未知 说过...

我们已经在广泛测试您的工具,并且想知道是否对传输的数据量有大小限制。我们注意到,内容类型不是全部正确分配给从站点的一个部分传输到另一部分的数据,我们是否缺少某些内容?谢谢喜欢这个工具,只是一些问题

克里斯·奥'Brien 说过...

@理查德,

不,我'由于我不知道Content Deployment的任何大小限制,因此我仅受内存和磁盘空间(用于压缩期间生成的临时文件)的限制。一世'我当然听说过有人使用该工具部署20GB。

如果问题你're seeing is that 现场 内容类型未在目标上完全复制,请注意'SharePoint的方式'的内容部署功能有效-不能'特定于我的工具。发生的是 清单 内容类型已成功连接,但父级 现场 内容类型未部署-认为硬性要求仅在网站要列出的内容类型上'function'在目的地。 (还应考虑到内容部署主要是为"创作只读作品" scenarios.)

FWIW我也希望他们的API部署站点内容类型。我真的可以'没有想到太多的原因't.

HTH,

克里斯。

亚历克斯·安加斯(Alex Angas) 说过...

一个错误?抱歉,克里斯...很高兴您可以解决问题。

铝 said...

是否可以通过命令行使用此工具,例如stsadm使用无压缩方式导入内容?

克里斯·奥'Brien 说过...

@Al,

是的-看到 现在提供对内容部署向导的命令行支持 有关详细信息。

希望能有所帮助,

克里斯。

匿名 said...

克里斯,你好

我确实有排除像这样的隐藏库的特定要求"Master Page Gallery", "Web Part Gallery"同时导出整个网站集,包括内容迁移包中的所有后代。

SPExportObject.ExcludeChildren是实现此目的的有用属性吗?或其他建议/意见?

谢谢,

维斯瓦吉特

克里斯·奥'Brien 说过...

@Vishwajit,

不幸的是'目前该工具尚无此方案的真正支持-您'd必须选择要导出的单个列表。

HTH,

克里斯。

匿名 said...

你好,我们又见面了,

Stefan为此提出了一个可能的解决方案:在SPImport.Started事件期间从Manifest.xml文件中删除条目。

Please refer the link : http://blogs.technet.com/b/stefan_gossner/archive/2007/08/30/deep-dive-into-the-sharepoint-content-deployment-and-migration-api-part-2.aspx?PageIndex=7&CommentPosted=true#comments

I'我已经尝试过了,并且对我有用,唯一的问题是我可能会丢失这些图库中的数据'm删除这些库及其所有后代。

谢谢,

维斯瓦吉特

克里斯·奥'Brien 说过...

@Vishwajit,

完美-出于某种原因,我认为您正在寻找"no code" solution. If you'轻松地对内容部署向导进行了奇怪的更改'的源代码,那么您绝对可以添加对此类附加功能的支持。

很高兴听到您被分类:)

克里斯。