3

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

我复制了导致问题从我的 2010 服务器到 2013 服务器的 DLL(主要是 Microsoft.SharePoint ...,虽然我也需要复制 Microsoft.Office.SecureStoreService.dll)并修复了引用。但是,Microsoft.Office.SecureStoreService.dll 仍然给我编译器错误,当 Visual Studio 有命名空间没有问题,并且在其中找到 SecureStoreProvider 类就好了。

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

我确信其他人已经处理过这个问题,但未能成功构建正确的谷歌搜索查询。总的来说,我对 SharePoint 比较陌生,如果有任何帮助,我将不胜感激。

谢谢,

麦克风

4

1 回答 1

8

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

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

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

为办公版本添加这个节点,我把我的直接放在 TargetFrameworkVersion 标签下面 <TargetOfficeVersion>15.0</TargetOfficeVersion>

更新参考

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

14.0.0.0对to进行查找替换15.0.0.0。这会将页面、布局和母版页上的所有引用更新到 v15 程序集。

更改通话

将任何呼叫更改SPUtility.GetGenericSetupPath()SPUtility.GetVersionedGenericSetupPath()

检查每个文件以检查任何配置单元引用。您需要在其中添加 /15/。例如:_layouts/ 到 _layouts/15/

在 Visual Studio 中打开包“文件夹”,然后更新该包的属性以使用版本 15。

清理

最后做一个编译清理所有遗漏的项目。部署您的解决方案并确保彻底测试。

于 2013-02-27T18:02:49.750 回答