设为首页 收藏本站
查看: 1503|回复: 0

[经验分享] MSDN Visual系列:创建用于自定义SharePoint解决方案部署的Visual Studio项目

[复制链接]

尚未签到

发表于 2015-9-30 07:34:43 | 显示全部楼层 |阅读模式
  原文:http://msdn2.microsoft.com/en-us/library/bb466224.aspx

在基于SharePoint的开发中,我们通常会在WSS的\TEMPLATE目录中部署一些自定义代码文件。对于这种需求,我们可以通过创建一个Microsoft Visual Studio项目,模仿\TEMPLATE目录的结构。这样,就可以想办法自动化我们的部署过程。这无疑会对我们的部署和测试有很大帮助。
我们需要创建一个类库(Class Library DLL)类型的项目。然后,在项目中创建一个\TEMPLATE目录。如果我们创建了一个或多个功能(Feature),那么就在TEMPLATE目录下创建一个FEATURES目录,将Feature文件都放在此目录下。如果我们创建了自定义后台应用程序页面,那么就在TEMPLATE目录下创建一个LAYOUTS目录。在LAYOUTS目录下,创建一个公司特定或项目特定的目录,然后将我们的自定义应用程序页面创建在该目录下面。
  图1、我们创建的Visual Studio项目,目录结构模仿WSS\TEMPLATE目录
DSC0000.jpg
  部署
  在创建完我们的组件如Feature或应用程序页面后,我们可以创建一个批处理文件来自动将这些文件拷贝到\TEMPLATE目录。如果我们好测试一个Feature,还可以在批处理文件中增加一个到STSADM.EXE命令行工具的调用,来安装(或激活)该Feature。如果我们的自定义解决方案中包括一个DLL组件需要部署到GAC(global assembly cache)中,还可以在批处理文件中运行GACUTIL.EXE命令行工具。下面是一个批处理文件的例子。其中包括了上面所说的几个内容,基本包括了我们在做部署和测试时会遇到的种种情况。

@SET TEMPLATEDIR="c:\program files\common files\microsoft shared\
                  web server extensions\12\Template"
@SET STSADM="c:\program files\common files\microsoft shared\
             web server extensions\12\bin\stsadm"
@SET GACUTIL="c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\
              Bin\gacutil.exe"

Echo Installing HelloWssDev.dll in GAC
%GACUTIL% -if bin\debug\HelloWssDev.dll

Echo Copying files to TEMPLATE directory
xcopy /e /y TEMPLATE\* %TEMPLATEDIR%

Echo Installing feature
%STSADM% -o installfeature -filename  HelloWssDev\feature.xml -force

REM - Uncomment next line when you need to restart IIS worker process
REM IISRESET  
请注意,在上面的批处理文件顶部的三个文件路径,包括了换行。这是为了在这里更加易于阅读。可是在正式的实际使用的install.bat文件中,必须将其中的换行除去,以保证批处理能够工作。

编译后自动部署

接下来我们可以给Visual Studio项目添加一个post-build事件,实现在编译(build)后自动执行install.bat。这里要注意必须将当前路径变为当前项目所在目录,以保证可以访问install.bat文件。我们可以像如下这样来写这个post-build。

cd $(ProjectDir)
install.bat  开发基于SharePoint产品和技术的自定义解决方案为我们提供了一种可以扩展WSS或MOSS的强大方式。当我们通过Visual Studio项目来创建这些组件时,我们需要具有一个结构清晰的步骤来进行测试和跟踪调试。通常我们的项目会包括一个或多个下面类型的组件

  • 功能(Feature)文件
  • 站点定义(Site definition)文件
  • 后台应用程序页面
  • 页面模板
  • WebPart描述文件
  • 需要部署到GAC或bin目录的DLL组件
  当我们创建一个Visual Studio项目来自动copy这些文件到合适的地方并安装好Feature和DLL,我们就可以更快的开展测试并调试程序了。
  查看视频

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-120608-1-1.html 上篇帖子: SharePoint 2010 + Infopath 2010 VSTA + WF + Timer Job + BI 之 报销单实例系列------发布Info 下篇帖子: SharePoint Learning Kit核心内容概述(五)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表