MSDN Visual系列:创建用于自定义SharePoint解决方案部署的Visual Studio项目
2007-05-27 21:21
309 查看
原文: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.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,我们就可以更快的开展测试并调试程序了。
查看视频
在基于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 /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,我们就可以更快的开展测试并调试程序了。
查看视频
相关文章推荐
- 创建用于自定义SharePoint解决方案部署的Visual Studio项目
- 创建用于自定义SharePoint解决方案部署的Visual Studio项目
- MSDN Visual系列:SharePoint中用于审计日志的自定义实体的编写
- 创建用于自定义SharePiont解决方案的Visual Studio项目
- MSDN Visual系列:在SharePoint中创建应用程序页面
- 如何为 Visual Studio 2005 或 Visual Studio .NET 安装和部署项目创建快捷方式
- 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡
- 转:MSDN Visual系列:MOSS企业级搜索之四——创建内容源用于爬网业务数据
- visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)
- visual studio 2010 创建新项目时,提示无法找到项目模板的一个解决方案
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- MSDN Visual系列:在MOSS中创建一个BDC实体
- SharePoint 2010 工作流解决方案:创建自定义网站工作流活动
- 【Visual Studio风格开发系列 - 可视化界面设计】利用 .NET Framework 2.0 创建并宿主自定义的设计(全部图)
- sharepoint 2010 visual studio 2010 项目部署出错解决方法
- 在Visual Studio 2010中创建多项目(解决方案)模板【二】
- 使用Orca在Visual Studio安装项目中创建自定义对话框
- sharepoint 2016 学习系列篇(12)-自定义列表应用篇-(1)创建一个自定义列表(Create a custom list)
- SharePoint 2010 工作流解决方案:创建自定义网站工作流活动
- 关于使用Visual Studio 2008 建立Setup And Deployment Project(安装与部署项目)制作安装.net 安装程序,插入Custom Actions(自定义动作)的办法