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

时间:2013-02-05 20:49:34

标签: visual-studio-2010 sharepoint-2010 visual-studio-2012 sharepoint-2013

我正在尝试将在Visual Studio 2010中开发的SharePoint 2010解决方案(自定义Web部件,内容类型,列表,事件接收器等)转换为SharePoint 2013和Visual Studio 2012.当我在VS 2012中打开项目时,它会转换一些项目文件,但由于引用问题而无法编译。

我复制了DLL(主要是Microsoft.SharePoint ......,虽然我也需要复制Microsoft.Office.SecureStoreService.dll),这些DLL导致从我的服务器到2013服务器的问题并修复了引用。但是,Microsoft.Office.SecureStoreService.dll仍然给我编译错误声称“错误203类型或命名空间名称'Office'在命名空间'Microsoft'中不存在(你是否缺少程序集引用?)”当visual studio有没有问题的命名空间,并在其中找到SecureStoreProvider类就好了。

我还尝试将目标框架从3.5更改为4,并且只在目标框架下拉列表中看到“安装其他框架...”。

我确信其他人已经处理过此问题,但未能成功构建正确的Google搜索查询。我对SharePoint一般都比较新,任何帮助都会受到赞赏。

感谢,

麦克

1 个答案:

答案 0 :(得分:8)

我能够使用以下内容将我的解决方案从2010年项目升级到2013年。请注意,这将更新您的解决方案以使用新的2013 API。可以仅更新项目文件,但仍可在2010模式下运行。

首先编辑.csproj文件(对于c#)。

将目标框架修改为: <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

为办公室版本添加一个节点,我将它直接放在TargetFrameworkVersion标记下面 <TargetOfficeVersion>15.0</TargetOfficeVersion>

更新参考资料

重新加载项目并更新引用的程序集。如果尚未指定特定版本,则应该已引用v15(SharePoint 2013)程序集。

找到14.0.0.015.0.0.0的替代品。这会将您的页面,布局和母版页上的任何引用更新到v15程序集。

更改电话

将对SPUtility.GetGenericSetupPath()的所有来电更改为SPUtility.GetVersionedGenericSetupPath()

检查每个文件以检查任何配置单元引用。您需要为这些添加/ 15 /。 EG:_layouts / to _layouts / 15 /

在visual studio中打开包“folder”,然后将该包的属性更新为使用版本15.

清理

最后做一个编译清理任何遗漏的物品。部署您的解决方案并确保彻底测试。