将SharePoint 2010解决方案转换为2013和Visual Studio 2012

3
我正在尝试将在Visual Studio 2010中开发的SharePoint 2010解决方案(自定义Web部件,内容类型,列表,事件接收器等)转换为SharePoint 2013和Visual Studio 2012。当我在VS 2012中打开项目时,它会转换几个项目文件,但由于引用问题无法编译。
我从我的2010服务器复制了DLL(主要是Microsoft.SharePoint...,尽管我还需要复制Microsoft.Office.SecureStoreService.dll),这些DLL导致问题,然后修复了引用。但是,Microsoft.Office.SecureStoreService.dll仍然给出编译器错误,声称“Error 203 The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)”,但是Visual Studio并没有问题,并且可以很好地在其中找到SecureStoreProvider类。
我也试图将目标框架从3.5更改为4,但只看到在目标框架下拉菜单中的“Install other frameworks...”。
我确信其他人也处理过这个问题,但未能构建正确的Google搜索查询。我对SharePoint总体上相对较新,任何帮助都将不胜感激。
谢谢,
Mike

我找到了两个网站,帮助我编译这个程序。第一个是http://victormaceda.wordpress.com/tag/upgrading-sharepoint-2010-projects-to-2013/,它详细介绍了转换的要点;第二个是http://www.codeproject.com/Articles/522220/ConvertingplusmultipleplusSharePointplus2010pluspr,其中有一个很好的PowerShell脚本,可以修复目标框架和服务器版本。 - Mike Lockhart
1个回答

8
我能够通过以下步骤将我的解决方案从2010升级到2013。请注意,这将更新您的解决方案以使用新的2013 API。可以仅更新项目文件但仍在2010模式下运行。
首先编辑您的.csproj文件(对于c#)。
将目标框架修改为: <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 添加此节点以进行office版本控制,我将其直接放在TargetFrameworkVersion标记下面 <TargetOfficeVersion>15.0</TargetOfficeVersion> 更新引用
重新加载项目并更新引用程序集。如果您没有指定特定版本,则应该已经引用了v15(SharePoint 2013)程序集。
执行查找替换操作,将14.0.0.0替换为15.0.0.0。这将更新页面、布局和母版页中对v15程序集的任何引用。
更改调用
将任何对SPUtility.GetGenericSetupPath()的调用更改为SPUtility.GetVersionedGenericSetupPath() 检查每个文件以查找任何hive引用。您需要在这些引用中添加/15/。例如:_layouts/更改为_layouts/15/
在Visual Studio中打开包“文件夹”,然后更新该包的属性以使用版本15。
清理
最后,进行编译并清理任何遗漏的项。部署您的解决方案并确保彻底测试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接