用 NAnt build .NET 项目

NAnt 是一个.NET 的Build工具, 官方网站: http://nant.sourceforge.net/. NAnt提供了丰富的API, 可以方便地集成、部署.NET 项目.

这是一个部署ASP.NET项目的例子, 要实现:

  • copy文件到特定目录, 过滤文件
  • copy所有文件到特定目录, 过滤文件/文件夹
  • 设置文件夹权限, 自动处理"ARE YOU SURE? Y/N"提示 (参见:http://support.microsoft.com/kb/135268

操作: 在project中设置post-build event command: $(SolutionDir)build.bat. 具体见代码:

build.bat:

C:\nant\bin\NAnt -buildfile:~FilePath/nant.build
echo y| cacls C:\temp\webroot\gen_files /G <MY_USER_NAME>:F

nant.build:

<?xml version="1.0"?>
<project name="FrankWeb" default="build" basedir="FrankWebApp">
    <target name="build">
        <echo message="Hello, this is NAnt build." />
        
        <property name="dir.base" value="${project::get-base-directory()}" />
        <property name="dir.bin" value="${dir.base}\bin" />
        <echo message="the project dir is: ${dir.base}" />
        
        <property name="dir.to" value="C:\temp\webroot" />
        <delete dir="${dir.to}" />
        
        <property name="dir.gen_files" value="${dir.to}\gen_files" />
        <foreach item="File" in="${dir.bin}" property="file.name">
            <echo message="the file in bin: ${file.name}" />
            <if test="${not string::ends-with(file.name, '.pdb')}">
                <copy file="${file.name}" todir="${dir.to}\to_files" />
            </if>
            <if test="${string::ends-with(file.name, '.pdb')}">
                <copy file="${file.name}" todir="${dir.gen_files}" />
            </if>
        </foreach>
        
        <copy todir="${dir.to}">
            <fileset>
                <include name="**/*.aspx" />
                <include name="**/*.cs" />
                <include name="**/*.js" />
                <include name="**/*.css" />
                <include name="**/*.config" />
                <include name="**/*.csproj" />
                <include name="**/*.dll" />
                <include name="**/*.pdb" />
                
                <exclude name="**/obj/**" />
            </fileset>
        </copy>
    </target>
</project>

转载于:https://www.cnblogs.com/Freeway/archive/2013/02/25/using_nant.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值