借助命令行工具自动化Webpart的部署过程
首先看看DLL+DWP方式的Webpart部署到Bin中的过程(使用VS.NET2003开发):
1 编译Webpart工程得到DLL
2 复制所需的DLL到SPS网站的Bin目录中
3 修改SPS网站的Web.Config文件,增加SafeControl申明
4 因为修改了Web.config,所以需要重新启动IIS
5 使用Webpart时从某个路径导入DWP文件到SPS站点中
以下过程借助CABARC.EXE工具和一些批处理实现以上过程的自动化:
1 将CABARC.EXE放到项目的输出路径中,比如bin\Debug
2 打开Webpart项目的属性页,选中通用属性下的生成事件,在生成后事件命令行中输入以下代码段
CABARC n "$(ProjectDir)/cab/Asp600.sharepoint.webpart.cab" "$(ProjectDir)*.dwp" *.dll "$(ProjectDir)*.xml"
"$(ProjectDir)/cab/install.bat"
注:代码段包含了两行,该段代码要能运行,必须确保CABARC.EXE在项目的当前输出路径中,当然也可以修改代码段来指定CABARC.EXE的位置
3 Install.bat文件内容如下
set path=%path%;c:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BINstsadm -o addwppack -filename "D:\Work\SharePointHome\Asp600.SharePoint.Webpart\CAB\Asp600.sharepoint.webpart.cab" -force
iisreset
完成后,编译Webpart项目,VS.NET会将编译结果打包成CAB,并安装到SPS站点中然后重新启动IIS以完成Webpart的部署。这样,开发人员只须要做编译操作,然后就可以直接到SPS中查看Webpart的最终执行结果了,如果将项目的输出路径直接定位到SPS网站的Bin中就同时考虑到了项目的开发阶段和部署阶段,从而使IDE在整个软件周期中起到了更好的作用
本文参考Build WebPart Cab File Within VS.net IDE