当前位置: 首页 > news >正文

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

转:http://soft.zdnet.com.cn/software_zone/2007/0903/488083.shtml

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

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

部署

在创建完我们的组件如Feature或应用程序页面后,我们可以创建一个批处理文件来自动将这些文件拷贝到TEMPLATE目录。如果我们好测试一个Feature,还可以在批处理文件中增加一个到STSADM.EXE命令行工具的调用,来安装(或激活)该Feature。如果我们的自定义解决方案中包括一个DLL组件需要部署到GAC(global assembly cache)中,还可以在批处理文件中运行GACUTIL.EXE命令行工具。下面是一个批处理文件的例子。其中包括了上面所说的几个内容,基本包括了我们在做部署和测试时会遇到的种种情况。

@SET TEMPLATEDIR="c:program filescommon filesmicrosoft shared
                  web server extensions12Template "
@SET STSADM="c:program filescommon filesmicrosoft shared
             web server extensions12binstsadm "
@SET GACUTIL="c:Program FilesMicrosoft Visual Studio 8SDKv2.0
              Bingacutil.exe "

Echo Installing HelloWssDev.dll in GAC
%GACUTIL% 
-if bindebug HelloWssDev.dll

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

Echo Installing feature
%STSADM% 
-o installfeature -filename  HelloWssDevfeature.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,我们就可以更快的开展测试并调试程序了。

 

转载于:https://www.cnblogs.com/jackljf/p/3589210.html

相关文章:

  • JavaScript中的对象个人分享
  • Python数据结构
  • Discuz!X3.1 全新安装图文教程
  • 关于Solr的使用总结的心得体会
  • paip.语义分析--单字词形容词表180个
  • vue格式化快捷键设置
  • jQuery学习——克隆
  • IBM WebSphere MQ介绍安装以及配置服务详解
  • 思维导图—你不知道的JavaScript中卷
  • C# 类相同属性赋值
  • MVC验证
  • UVa10305 拓扑排序
  • 专科程序员与本科程序员之间有什么区别?
  • HTTP协议
  • 算法一:动态规划
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Android Volley源码解析
  • canvas绘制圆角头像
  • js ES6 求数组的交集,并集,还有差集
  • opencv python Meanshift 和 Camshift
  • python 学习笔记 - Queue Pipes,进程间通讯
  • TypeScript实现数据结构(一)栈,队列,链表
  • zookeeper系列(七)实战分布式命名服务
  • 爱情 北京女病人
  • 从重复到重用
  • 前端
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 网络应用优化——时延与带宽
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 阿里云API、SDK和CLI应用实践方案
  • 仓管云——企业云erp功能有哪些?
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)nginx 配置(nginx.conf)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十八)三元表达式和列表解析
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .gitignore
  • .net CHARTING图表控件下载地址
  • .net core使用ef 6
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net wcf memory gates checking failed
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net经典笔试题
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • ::前边啥也没有