SharePoint 解决方案手动打包简单介绍
介绍:在使用SharePoint中,我们经常需要做的就是打包解决方案,我们来介绍下SharePoint解决方案的手动部署,我自己觉得,解决方案是SharePoint中非常好的一个功能,部署和使用起来相当方便,尤其配合Feature的使用,可以对相应功能的开启和关闭,废话不说了,开始我们的解决方案打包部署。
前期准备-[makecab命令、.ddf格式文件、manifest.xml],了解下以上三项,这个对于手动打包解决方案,是非常必要的。
·Makecab命令
MakeCAB是微软提供的制作CAB的文件的命令,而这个命令使用的文件格式就是.ddf,我们可以在运行中输入cmd,然后输入Makecab回车,就可以看到命令使用和参数(如图1),我们手动打包解决方案,也就是使用MakeCAB命令进行打包。

(图1)
·ddf文件
然后介绍下.ddf文件,我们主要了解的就是文件的格式,给大家一个网上找来的例子,然后简单介绍下,大家就会有所了解。如下面的.ddf文件,我们会把manifest.xml和manifest1.xml两个文件打包到wsp包中,当然,这是一个简单的例子,我们打包的时候,需要的不是这样的文件,而是类似dll和ascx之类的文件。
这样的.ddf文件,打包以后的wsp文件结构,就是根目录下有一个manifest.xml文件,而其中test文件夹下还有manifest1.xml文件,我们可以手动创建12/bin/Template等类似文件夹,就可以打包到相应位置了。
|
.OPTION EXPLICIT .Set CabinetNameTemplate=mytest.wsp//解决方案名称 .set DiskDirectoryTemplate=CDROM .Set CompressionType=MSZIP//压缩方式 .Set UniqueFiles=on .Set Cabinet=on .Set DiskDirectory1= //目录 manifest1.xml test\manifest1.xml//前面的为当前目录文件名称 后面的在解决方案中的位置 manifest.xml |
·manifest.xml
这个文件,是打包解决方案的一个很重要的文件组成,给大家一个参考的例子,这个文件的作用,是把解决方案包里面的文件,放到指定位置去。特别的,Solutionid这个值,是一个唯一值,不可以重复,每次要重新生成。
|
<?xml version="1.0"?> <Solution SolutionId="505e68e7-55ea-4b66-b5d3-6c41e4cc7296" xmlns="http://schemas.microsoft.com/sharepoint/"> <Assemblies> <Assembly DeploymentTarget="WebApplication" Location="*.dll"> <ClassResources> <ClassResource FileName="*.ascx" Location="*.ascx"></ClassResource> <ClassResource FileName="*.ascx" Location="*.ascx"></ClassResource> </ClassResources> </Assembly> <Assembly DeploymentTarget="GlobalAssemblyCache" Location="*.dll"> <SafeControls> <SafeControl Assembly=" " Namespace=" " TypeName="*" Safe="True" /> </SafeControls> </Assembly> </Assemblies> <TemplateFiles> <TemplateFile Location="ControlTemplates\*.ascx"/> <TemplateFile Location="IMAGES\*.jpg"/> </TemplateFiles> <RootFiles> <RootFile Location="ISAPI\*.asmx"/> <RootFile Location="TEMPLATE\LAYOUTS\*.asmx"/> <RootFile Location="Template\layouts\2052\MCS\FlashNews\*.js"/> </RootFiles> </Solution> |
打包过程,首先就是手动建一个层次目录,里面建好类似12下的目录方式,然后把相应的文件放到相应位置,写ddf文件(这个文件的位置,就是指定打包那些文件,打包到解决方案中的位置);然后写manifest.xml文件,指定相应的文件,部署后到服务器场的位置。 然后,在运行中输入cmd,然后输入makecab命令,makecab /f Sample.ddf稍等片刻即可打包wsp包。
注:这是自己学习手动打包的笔记,makecab文件可以参考百度百科的介绍,其实,现在打包解决方案远远没有这么麻烦,不过,自己还是希望了解这个打包的过程,也算学习的一种体验吧。
******************************************************************************
作者:霖雨
出处:http://www.cnblogs.com/jianyus
本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。
SharePoint 解决方案手动打包简单介绍的更多相关文章
- O365(世纪互联)SharePoint 之调查列表简单介绍
前言 SharePoint中为了提供了很多开箱即用的应用程序,比如调查列表就是其中之一,同样,在O365版本里(国际版和世纪互联版本均可),也有这样的调查列表可以供我们使用,而使用起来非常方便和快速, ...
- SharePoint 2010 网站备份还原简单介绍
今天尝试了SharePoint2010网站的备份和还原,从网上搜一些文档看看,然后自己试试,感觉和2007的操作没什么太大的区别,跟大家分享下自己尝试的命令行方式和数据库的方式,2007自己常用的也是 ...
- 系统升级日记(3)- 升级SharePoint解决方案和Infopath
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...
- SharePoint Word 转换PDF服务介绍及示例
前言:在SharePoint使用过程中,经常会发现将文档进行格式转换的需求,之前,看到SharePoint 2013有将PPT转换PDF文档的服务,后来,才发现SharePoint 2010开始,就有 ...
- SharePoint 2016 每天预热脚本介绍
使用SharePoint的朋友们应该知道,SharePoint每天夜里有自动回收的机制,使环境每天把占用的内存都释放出来,以确保不会累计占用过多内存导致服务器崩溃. 我们可以打开IIS,选中我们的应用 ...
- webpack入门篇--1.简单介绍
简单介绍: webpack是一个模块打包工具,给js准备的打包工具,可以把很多的模块打包成很少的文件 目标: 1.切分依赖数,分到不同代码块里,按需加载,懒加 载 2.任何静态资源都可以被视为一个模块 ...
- [转]ZooKeeper学习第一期---Zookeeper简单介绍
ZooKeeper学习第一期---Zookeeper简单介绍 http://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKe ...
- Postman安装与简单介绍
Postman简介 Postman是一个 Chrome 扩展,能提供强大的 Web API HTTP 请求调试功能.Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELE ...
- 用Ant手动打包android程序,android分包机制解决65536方法过多异常
Android利用ant手动打包 首先我们要给自己的IDE eclispe配置ant,默认的eclipse是集成了ant构建工具的,但是google提供的Android集成开发工具ADT,里面封装了E ...
随机推荐
- NET中小型企业级项目开发架构系列(一)
前端时间我们开发了基于Net的一套搭建sprint.NET+NHibernate+MVC+WCF+EasyUI等中小型企业级系统开发平台,现在把整个开发过程中的步步进展整理出来和大家分享,这个系列可能 ...
- UNIX网络编程——原始套接字的魔力【上】
基于原始套接字编程 在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证: 也就是说,对于TCP或UDP的程序开发,焦点在Dat ...
- UNIX环境高级编程——标准IO-实现查看所有用户
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h&g ...
- 关于"net::ERR_CONNECTION_ABORTED"和"Firebug 达到了 Post 请求大小限制"的问题
1.其中"net::ERR_CONNECTION_ABORTED"是在Chrome的控制台中打印出来的. 2."Firebug 达到了 Post 请求大小限制" ...
- Linux:alias永久生效
alias(中文称为"别名")允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入. 如果经常与 CLI 打交道,那么使用 alias 不仅会 ...
- 发布一个参考ssdb,用go实现的类似redis的高性能nosql:ledisdb
起因 ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们现在的应用极大的依 ...
- 【Android 应用开发】 ActionBar 基础
作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3920439 ...
- 【python】使用unix管道pipe处理stdout实时数据
现在有个实时抓包处理的程序,大概的流程是 使用tshark抓包->实时上传,如果写log的话是可以的,但是log文件切割需要定时执行. 由于log中有些内容需要实时处理,延迟时间会导致数据误差, ...
- C++闭包: Lambda Functions in C++11
表达式无疑是C++11最激动人心的特性之一!它会使你编写的代码变得更优雅.更快速! 它实现了C++11对于支持闭包的支持.首先我们先看一下什么叫做闭包 维基百科上,对于闭包的解释是: In progr ...
- JQuery实战总结一 可编辑的表格
JQuery视频看完了,总结学习,记得在牛腩视频中的修改新闻类别的时候也使用了这样的可编辑的表格,使用到 了ajax控制界面不再刷新,轻松解决了类别的名称的修改的问题,直接提交到数据库,这样的方式比起 ...