PowerShell 在 SharePoint 2010 自动化部署中的应用(2)-编译打包

TFS 2010服务层重构:SQL Server兼容性与权限模型升级解析 Team Foundation Server(TFS)作为微软早期企业级ALM平台,其服务层架构演进深刻影响着团队协作基础设施的稳定性与可扩展性。从技术本质看,TFS服务层是封装版本控制、工作项跟踪、构建管理等能力的核心中间件,依赖于数据库访问抽象、权限治理模型和跨系统集成机制。TFS 2010的关键突破在于将数据访问解耦为运行时动态加载的SQL Server提供者,并引入三级权限体系与资源级授权模型,显著提升SQL Server 2008/R2兼容性与细粒度管控能力。这些改进不仅解决了TFS 2008时代 阅读详情

上次说到通过PowerShell将项目代码从TFS服务器拿到本地,这次再说说编译和打包的经历

2 编译打包

我相信做过SharePoint2007的都有过打包时恶梦般的经历,Cabinet SDK,VSeWSS,WSPBuilder,文本编辑器… … 来回切换。这时我总是怀念做ASP.NET的日子,开个VS就足够的,舒服呀…

随着SharePoint给MS挣到越来越多的钱,地位也在不断上升,在 VS2010里,SharePoint已经属于First Class级别的支持了!用VS2010我们已经可以直接生成wsp包,并且一键部署到本地环境进行测试,很是给力。那我们是否也能通过MSBuild来直接生成wsp包呢?答案当然是木问题啦。下面是我在做的过程中遇到的问题和解决方法,如果谁有更好的,也和俺Share一下啊

1. MSBuild貌似不能以.sln文件为参数生成解决方案中所包含的SharePoint项目,只能单独调用SharePoint项目文件,一次生成一个wsp包

2. MSBuild中打包的Build Action参数是Package

3. 注意PowerShell中Call Operator ‘ & ‘的用法。具体细节可以查MSDN(废话,嘿嘿)。

 

下面是代码和注释

 

#指定MSBuild的路径
$exe = "C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe";

#需要编译/打包项目的参数数组,每个项目需要指定4个参数
#[0] 指定项目的路径
#[1] 项目文件名称
#[2] 项目的Build Action 'Package','Comple','Build'...对于SharePoint项目打包成wsp的值应是Package
#[3] 编译时用的配置信息,在VS中可以设置,默认提供‘Debug’,‘Release’
$projects = ,('F:/SolutionA/ProjectA','ProjectA.csproj','Package','Debug'),
  ('F:/SolutionA/ProjectB','ProjectB.csproj','Package','Debug'),
  ('F:/SolutionA/ProjectC','ProjectC.csproj','Build','Debug');

#设置编译结果的目标路径
$OutputPath = 'F:/Target';

Foreach($project in $projects)
{
 #生成项目文件的绝对路径名称
 $projectFile = $project[0]+"/"+$project[1];
 $target = $project[2];
 $conf = $project[3];
 #调用MSBuild进行编译,由于命令以变量的形式存在,需要添加调用操作符'&'
 & $exe $projectFile /t:$target /p:OutputPath=$OutputPath /p:Configuration=$conf
}

 

 

在学习PowerShell的时候我感觉网上的教程很多,但多以手册查阅为主,如果有时间可以看看Manning的《PowerShell In Action》,现在好像还只有2007年的第一版针对的是PowerShell1.0,感觉讲的还可以, 第2版状态还是MEAP,不给力呀… 除此以外,如果谁有好书也推荐一下。

 

 

 

 

 

ANC降噪学习 概述 ANC,英文名称:Active Noise Control,主动降噪。其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。核心算法 ANC降噪实现核心算法为:FxLMS(最小均方差算法)。最小均方差算法以均方误差为代价函数,并使误差降到最小的算法。 具体算法推导这里不做具体介绍,这里直接列出表达式: ... 阅读详情

相关推荐

别再死磕GAN了!用PyTorch从零实现DDPM图像生成(附CIFAR-10完整代码)

本文详细介绍了如何使用PyTorch从零实现DDPM(Denoising Diffusion Probabilistic Models)图像生成模型,并在CIFAR-10数据集上进行训练和测试。通过对比GAN,DDPM展现出更稳定的训练过程和更高质量的生成效果。文章包含完整的代码实现、训练技巧和优化建议,帮助开发者快速掌握这一前沿的生成模型技术。

weixin_33720078的博客 595

利用PowerShell+Jenkins,实现项目的自动化部署

利用PowerShell+Jenkins,实现项目的自动化部署 当项目越来越庞大,部署环境越来越多以后,就会越来越依赖于自动化。比如本人公司的项目,目前有6个web和4个windows service,同时本地有两套环境:开发自测试环境和QA测试环境。每次版本发布,需要先部署开发自测试环境;开发人员自测试通过以后,将部署的版本部署到QA测试环境;QA测试通过以后,将本次版本打包作为发布版本,交给运维人员部署生产环境。 在以往,每次本地部署的流程是:开发人员获取最新代码-编译发布-远程连接部署-上传版本

xwnxwn的专栏 960

1、探索 PowerShellSharePoint 中的应用:跨越开发与管理的鸿沟

本文探讨了 PowerShellSharePoint 环境中的重要作用,以及如何通过 PowerShell 缩小开发者与管理员之间的技能差距。文章回顾了 SharePoint 管理所面临的挑战,介绍了 PowerShell 的发展历程及其与 SharePoint 的集成改进。此外,详细说明了 PowerShellSharePoint 安装、部署、对象管理、应用程序管理及监控中的具体应用。通过 PowerShell,管理员可以高效地自动化重复性任务,而开发者也可以更好地理解 SharePoint

s4t5u6v的博客 111

利用Powershell自动部署asp.net mvc网站项目 (一)

这一篇中我们会写一些关于自动化部署的代码。我们会使用 Powershell 书写这类代码。 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性。这是因为部署从来都是跟环境打交道,部署过程中协作的组建太多,相互之间的交集不可能太大。可能唯一能够通用的是自动化部署的基本原则(只是这篇文章的基本原则): 每一次自动化部署结束之后,应用程序都会有相同的初始状态。 自...

changandaxue的专栏 448

Jenkins通过Publish Over SSH插件远程部署war包到windows操作系统的tomcat上使用的Powershell脚本

E: cd E:\app\tomcat\ # 按端口找到tomcat(java)进程ID(pid) $port = ":8080" $str = netstat -ano $list = $str.Split('\n'); for ($i=0;$i -lt $list.Length; $i++) { $item_list = [System.Text.RegularExpressions...

haohaifeng002的博客 1716

PowerShellSharePoint 2010自动化部署中的应用(1)--代码获取

由于项目需要,要把项目组成员中每天的工作整合到一起。每天手动部署很是费时费力。于是有了是否能利用PowerShell进行自动化部署的想法,正好也有机会学习一下PowerShell。先交代一下项目背景,这个项目是SharePoint 2010的项目,所有功能都是通过VS2010 生成的wsp包部署到服务器的。项目的代码由公司TFS管理,咱一小程序员,没有任何管理权限(只能check in/out)。初步想法是代码获取到开发服务器,编译,执行更新脚本更新开发服务器上的当前版本。以后可以扩展为本地获取,编译,上传

CrazySharePoint的专栏 777

如何部署VS2010 SharePoint2010 解决方案

在默认情况下,使用VS2010 开发的SharePoint 2010 解决方案将会被打包成为解决方案包,在Bin 目录下的 .wsp 格式文件。使用VS2010 开发的SP解决方案都默认为沙盒解决方案 (sandbox solution). 可以使用两种方式对解决方案进行部署: 但在部署之前,请确定在 SharePoint 2010 管理中心 ( Central Admin ) 中 系统设置...

weixin_33713503的博客 200

SharePoint 2010 部署 WSP 包

转:http://www.cnblogs.com/myheaven/archive/2011/05/19/2051180.html .net在工程的下面生成了WSP包,在Debug下面。需要放到生产环境去。 2007的时候做了个bat来部署,用STSADM,到了2010就习惯敲代码了:在SharePoint 2010 Management Shell,用Add-SPSolution ...

weixin_30376323的博客 130

用C#语言在Visual Studio 2010里开发一个自定义的PowerShell Cmdlet

1. 打开Visual Studio 2010 2. 新建一个基于Class Library的项目 3. 给项目起个名字然后OK 4. 为项目添加下列Reference System.Management.Automation.dll (C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShe...

dingjianman7815的博客 277

如何在SharePoint中配置和自定义Content Query Web Part (二)

之前有一篇blog完成了Content Query web part 的配置部分,利用它我们很轻松地从SharePoint list里获取到数据并显示在了page上。虽然把数据读取出来了,但是如何自定义item的布局和样式来满足我们的需求呢?本篇blog将带你去完成自定义工作。

CrazySharePoint的专栏 2509

如何在SharePoint中配置和自定义Content Query Web Part()

      之前有一篇blog提到过SharePoint中的Content Query Web Part (CQWP),说的是当SharePoint开启了匿名访问模式后,Content Query Web Part读取Document Library数据失败的问题。从这篇博客开始,我将说一下Content Query Web Part这个东西能做什么,如何配置,必要的时候如何自定义它来满足我们的需要,并实现最终的效果。      好了,假设现在你通过SharePoint Server 2010创建了自己的w

CrazySharePoint的专栏 2181

SharePoint内容定制之XSLT高级用法——带返回值的函数调用

<br />前言:通常大家使用XSLT仅仅是用它进行简单的数据展示,但是如果涉及到复杂的逻辑处理,便变得无从下手。其实,在XSLT本身支持JavaScript, C#等语言自定义函数,只可惜SharePoint无情的把这一特性给屏蔽了。所以为了更多的实现的功能,我们不得不挖掘xsl:template的一些特殊用途——带返回值的函数调用,让它具备别的编程语言所拥有的灵活性。<br /> <br />xsl:template本身不是一个函数,在多数情况下,它只是作为一个内容输出的模块化工具,但是借助xsl:va

CrazySharePoint的专栏 1580

SharePoint Central Administration Feature 开发要点‏

SharePoint开发中,我们有时需要在Central Administration中部署Feature,这样的Feature(以下简称CA Feature)通常都是完成一些全局的管理操作,比如说公司开发出多个SharePoint可重用的组件,准备以产品的形式对外销售,这个时候就得通过部署一些CA Feature去对整个Farm中已经安装的SharePoint组件授权进行管理。

CrazySharePoint的专栏 1297

PowerPivot: SharePoint与Excel 在数据分析领域的配合

<br />下面这张SharePoint2010 的六个功能模块图,想必SharePoint的爱好者已经很熟悉了,今天给大家介绍下见解中的PowerPivot。<br /> <br /> <br /><br /> <br />      2010年4月,微软的SQL Server部门发布了一个Office插件,此产品即为 PowerPivot(以前称为“Gemini”即双子星项目),它包含了两个组件,一个是PowerPivot for Excel(客户端组件), 另一个是PowerPivot for Sha

CrazySharePoint的专栏 1197

SharePoint要在master page中动态显示List数据的几种方式

<br />我们都知道,在SharePoint中,Content page继承自Page layout,而Page layout又继承自Master page。Master page的作用大家都知道,它定义了站点的的整体外观和公共元素,因此有了很强的页面重用性和很好的页面编辑体验,Page layout通过ContentPlaceHolder为一些内容相似性很强的页面进行了布局,所以到了Content page那里,我们所做的只是放我们每个页面想要显示的内容即可,剩下的布局和样式都可以不用操心了。<br /

CrazySharePoint的专栏 1084

如何开启匿名访问SharePoint 2010里的Client Object Model

正如大家所知道的,SharePoint 2010 集成了一个新的特性“客户端对象模型(Client Object Model)”,这真的是个很有趣的东西,开发人员可以很方便的写一些简单的程序来访问SharePoint 的数据,无论是.Net 应用程序,Silverlight,还是JavaScript,当然你可能会说我们可以调用SharePoint Web Service,但是对比一下Code,我认为Client Object Model可能来的更容易些。 言归正传,今天在写一段JavaScript 去访问S

CrazySharePoint的专栏 1074

SharePoint Site Pages & Application Pages

<br />SharePoint一个很重要的概念就是Site Pages和Application Pages。接触SharePoint是在SharePoint 2007,当时就有这个概念。如有误解之处,请大家多多指教。<br />Site Pages是可以通过SharePoint Designer来编辑的页面,它的增加、删除、修改并不能在物理文件系统中跟踪到,而是在Content DB中。<br />Site Pages 两个重要的概念:Ghosted or Uncustomized Page.   页面都

CrazySharePoint的专栏 1070

和骨肿瘤预测相关的数据集

和骨肿瘤预测相关的数据集数据说明:该数据集可以用来开发一种能够利用磁共振鉴别良恶性骨病变的深度学习算法。1.成像数据模型应通过调整 EfficientNet 或任何其他模型深度学习架构来开发图像分类模型。需要使用具有单个节点和sigmoid激活的最终分类层来执行二元分类任务。2.临床数据模型一个使用临床变量的逻辑回归模型被单独开发用于分类任务。输入是患者的年龄、性别和病变位置。21个位置(锁骨、颅骨、股骨近端、股骨远端、脚、桡骨近端、桡骨远端、尺骨近端、尺骨远端、手、髋、肱骨近端、肱骨远端、股骨近端和股骨远端、胫骨近端和胫骨远端、腓骨近端和腓骨远端、下颌骨、肋骨/胸壁、肩胛骨或脊柱)被编码为一热编码,因此该模型接收了23个不同的量化输入变量。3.组合模型需要使用堆叠集成方法将成像和临床特征模型结合起来,其中投票集成将来自成像和临床特征模型的恶性概率作为输入,并根据预测概率的求和创建输出。每个集成分类模型由在T1W成像研究上训练的模型的输出。在 T2W 成像研究上进行训练的模型和基于临床特征的逻辑回归模型组成。

上一篇: SharePoint 2010 和 IE9,一个完美的组合
下一篇: SharePoint要在master page中动态显示List数据的几种方式
crazysharepoint
博客等级 码龄16年 5粉丝 17原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值