原文: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目录
部署
在创建完我们的组件如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.dllEcho Copying files to TEMPLATE directoryxcopy / e / y TEMPLATE \* %TEMPLATEDIR