SharePoint 2010 一种快捷的开发部署方式

我们都知道,通过Visual Studio开发SharePoint项目的话,Visual Studio默认是将编译后的DLL文件部署到GAC,为了下文描述方便暂称之为GAC部署。

这种模式很简单,不需要额外的配置,只需右键点击项目选择Deploy就可以将代码部署到SharePoint环境,Visual Studio会自动将DLL复制到GAC。

但是,SharePoint为了提高性能,从GAC里加载代码后,会将之缓存到内存里,以避免频繁加载。当我们准备将下一个版本的代码部署到GAC时,必须回收应用程序池或者重启IIS来清除之前的缓存,让SharePoint从GAC里加载最新的代码版本。

Visual Studio会自动帮我们回收或重启IIS,问题在于,我们的开发环境性能通常都很一般,不论是公司还是私人的电脑,预算都有限,不可能为了一台开发用的机器投入太多的金钱,而且开发机器上总是有杂七杂八的东西,这就导致了回收/重启时间会很长,以笔者机器为例,8G内存,双核处理器,重启时间是2分钟4分钟不等,虽然我们可以利用这等闲暇去上个厕所或者喝杯茶,但是经常为了几个小小的代码改动而接二连三的重启、等待,浪费的总时间是非常非常影响工作效率的。

 

下面笔者介绍另一种部署,简称之为Bin部署吧,其实就是我们开发asp.net 项目时的默认部署方式。这种部署需要先配置下Visual Studio的SharePoint模板以及站点下的web.config,不需要回收、重启IIS,编译代码后,只需要刷新SharePoint页面,仅仅只需5秒钟左右即可看到最新的结果。

在应用这种部署之前一些你必须知道的事情:

  1. Bin部署应该仅仅用于开发环境,为了安全考虑,在QC、UAT、Production环境中我们还是需要将程序集部署到GAC,所以当我们在开发机上完成开发后,还是需要将程序集部署到GAC上进行测试。
  2. Bin部署只能保留一个代码版本,但是GAC部署可以保留多个。
  3. Bin部署不需要强命名的程序集,但是GAC部署必须要,所以最好还是给每个用到的程序集加上强命名。
  4. Bin部署是部分信任级别,GAC是完全信任级别,所以Bin部署的代码的执行权限有限制,下文会提到如何将之提升到完全信任级别,同样再强调一下,仅仅只能在开发机上进行提升。
  5. 你可以直接将公用程序集从一个站点的Bin文件夹拷贝到另一个站点的Bin文件夹,以实现代码重用。
  6. Bin部署不能用于Time Job,Service application, Event Receivers,Workflow等部署,只有运行在IIS work process的代码才能采用Bin部署。

 详细的配置步骤:

1. 打开Visual Studio,在项目的属性窗口,将Assemby Deployment Target改成WebApplication。

 

2. 将Outout 路径改成目标SharePoint站点的Bin文件夹的路径。

 3. 将下面图片里的部分添加到Package.Template.xml,注意修改对应的程序集以及命名空间的名称。

 

上面是图片,下面贴文字,方便复制。

<?xml version="1.0" encoding="utf-8"?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/">
  <Assemblies>
    <Assembly Location="xxx.dll"
              DeploymentTarget="WebApplication">
      <SafeControls>
        <SafeControl
               Assembly="$SharePoint.Project.AssemblyFullName$"
               Namespace="xxx"
               TypeName="*" Safe="True"/>
      </SafeControls>
    </Assembly>
  </Assemblies>
</Solution>

 4. 将下面的一段加到站点的web.config里

         <securityPolicy>
         [...]
         <trustLevel name=”Full” policyFile=”internal”/>
         </securityPolicy>

5.  在web.config里注释掉默认的权限级别,然后添加新的权限级别

         <!--<trust level="WSS_Minimal" originUrl="" />-->
         <trust level="Full" originUrl="" />

6.  第一次部署的时候需要选择Deploy,之后进行修改就不需要了,见下两步。

7.  如果只是修改前台页面的内容,右击项目,选择Quick Deploy,选择Copy to SharePoint Root (需要先安装CKSDEV),刷新页面,检查最新的结果。

8. 如果只是修改了code behind 文件,右击项目,选择Rebuild,刷新页面,检查最新的结果。    

 

如果你想要将Bin部署切换到GAC部署,只需要将第一步的Assembly Deployment Target 改成GlobalAssemblyCache,以及第三步里的DeploymentTarget改成GlobalAssemblyCache即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值