创建用于自定义SharePiont解决方案的Visual Studio项目

在基于SharePoint的开发中,我们通常会在WSS的/TEMPLATE目录中部署一些自定义代码文件。对于这种需求,我们可以通过创建一个Microsoft Visual Studio项目,模仿/TEMPLATE目录的结构。这样,就可以想办法自动化我们的部署过程。这无疑会对我们的部署和测试有很大帮助。
我们需要创建一个类库(Class Library DLL)类型的项目。然后,在项目中创建一个/TEMPLATE目录。如果我们创建了一个或多个功能(Feature),那么就在TEMPLATE目录下创建一个FEATURES目录,将Feature文件都放在此目录下。如果我们创建了自定义后台应用程序页面,那么就在TEMPLATE目录下创建一个LAYOUTS目录。在LAYOUTS目录下,创建一个公司特定或项目特定的目录,然后将我们的自定义应用程序页面创建在该目录下面。

图1、我们创建的Visual Studio项目,目录结构模仿WSS/TEMPLATE目录

部署

在创建完我们的组件如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 
/ / 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,我们就可以更快的开展测试并调试程序了。

查看视频

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值