原文地址:How to upgrade a custom application to SharePoint 2013
如何升级SHAREPOINT场解决方案到2013上
如果你把SharePoint2010场解决方案(WSP文件)安装到2013,很大程度上他都能好用。这个很可能是因为Microsoft
部署了所有用来支持SharePoint2010的文件到了14 hive。当你部署解决方案,如果Manifest.xml包含
‘SharePointVersion="14.0",SharePoint就会部署layouts, features
等等到旧的14.0 hive.
如果里面标明 ‘SharePointVersion="15.0",SharePoint会部署到到新的15
hive.
如果你仅仅是想在2013上能用,那么这个功能很有用。如果像我们一样,你想完全支持SharePoint2013并且完全遵从
.Net 4.0,你需要继续往下看。最后在2013里有一些很好的新的功能你可以获益。
升级步骤
下面列出了我想要解决方案运行所需要做的所有工作。如果你需要升级场解决方案到2013,同时还向支持2010,那么你会发现很有用。
SUPPORT 在一个VisualStudio Solution里支持多个版本
这个需要狠多的步骤,我写了一篇单独的文档‘How
to support multiple versions of SharePoint in a single VisualS...‘.
我建议你阅读这个文章然后回来继续阅读。
更改你的解决方案包成‘15.0‘
你需要做的第一个修改是设置 ‘SharePointProduct Version‘
成 "15.0".
这个会让你的解决方案被对待成SharePoint2013
解决方案,并且所有组件会被部署到正确的地方。
谁移动了GAC?
让SharePoint Developers吃惊的最大的变化之一,是微软决定移动GAC (Global Assembly Cache)到了新的位置.如果你在debug的时候,还把新版本的assembly放到GAC,
你需要知道,GAC已经换位置了!放到C:\windows\assembly
然后尝试‘attach to process‘
已经不好用了。
现在,每个版本的Microsoft.net
都有了一个GAC的文件夹(v4.0
以及以上版本)。旧的GAC还在那里,但是是留给低版本的.NET使用了。
为什么要有一个新的GAC呢?如果想看更深入的讨论,请看 this
post.
SPUTILITY.GETGENERICSETUPPATH 方法被废弃了
这个可能会让你感到吃惊。如果你继续使用 SPUtility.GetGenericSetupPath(),他会返回14 hive (SharePoint 2010),
而不是新的15 hive (SharePoint 2013).
因此,如果你使用这种方法来获取文件,你很可能获取不到他们。新的方法是调用SPUtility.GetVersionedGenericSetupPath()。通过使用下面的方法和参数,我们支持所有的3个版本SharePoint
:
_LAYOUTS虚拟目录里面有了一个15
如果你有代码访问‘_layouts‘
文件夹,你需要使用正确的版本。看下面的图片,你会注意到,实际上,layouts的里面实际上有一个叫15的文件夹。
下面举个例子来说明这个是如何影响你的代码的。这个代码返回一个部署到了layouts文件夹的页面的URL。如果我们没有修改代码包含15,它会返回14hive
–对2010解决方案来说是好事,但是对2013的解决方案就不好了。
其他的被SharePoint2013废弃的
· 可以访问Technet来获取在SharePoint2013中被废弃的列表。
Postedby MarkJones on February
25, 2013 at 10:30