【IT168技术文档】
在Vs 2005 没有打Sp1的时候,可以用aspnet_compiler.exe来实现发布网站的目的,它是一个命令行工具,在进行持续化集成的时候,很方便,可打了Sp1之后,虽然也能发布网站
但我在vs安装组件中找了遍,也没发现发布网站用的是哪个exe,没有命令行工具,持续集成就成了问题,自己动手,丰衣足食,下面介绍一下该组件的功能和特点
1. 本组件的原本用途
在持续化集成的过程中,当MsBuild.exe编译成功之后,用此组件自动发布网站。 一次支持多个网站
2. 实现原理
要想能和MsBuild进行交互,最好的办法就是将该组件作为MsBuild的一个任务,.net framework已经为我们准备好了用于创建MsBuild的基类Microsoft.Build.Utilities.Task,继承它便可以实现一个自定义MsBuild任务,在进行编译的时候,执行自己想要的操作。我这个组件就是根据配置信息,从编译好的网站文件夹中拷贝指定格式的文件到发布目录,从而达到发布网站的目的。只要更改配置,能适用于Vb.Net和C#或者其他语言开发的任何网站项目。
3. 实现方法
首先,我们先来看一下Microsoft.Build.Utilities.Task这个类的用法:
实现一个自定义得MsBuild任务需在Microsoft.Build.Utilities.Task的实现类中重写Execute方法,该方法的原型为
public abstract bool Execute ()
同时,MsBuild任务支持自定义属性,实现方法和普通类属性相同,而如果属性是必须的话,可以应用[Required]属性(Attribute)。
本组件需要的属性如下

声明这些属性的代码为: