使用nant编译项目

来源:互联网 发布:2010年韩国进出口数据 编辑:程序博客网 时间:2024/05/29 15:35

1.拷贝tools,build.bat,nant.build,nuget.install.bat到项目路径下

2.修改nant.build文件,编写web站点生成脚本

代码如下:

<?xml version="1.0"?>
<project name="wf" default="build">
  <property name="project.config" value="Release" dynamic="true" />
  <!--path-->
  <property name="dir" value="."/>
  <property name="dir.tools" value=".\external-tools"/>
  <property name="build.base" value="build\${project.config}"/>
  <property name="build.absolutepath" value="${path::get-full-path(build.base)}" />
  <property name="xpath.flag" value="/configuration/appSettings/add[@key='EnvironmentVersionFlag']/@value"/>
  <property name="xpath.entrance" value="/configuration/appSettings/add[@key='AppDomainLoaderEntrance']/@value"/>
  <!--msbuild-->
  <property name="msbuild" value="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" />
  <property name="msbuild.config" value="Debug" dynamic="true"/>
  <if test="${project.config=='Release'}">
    <property name="msbuild.config" value="Release"/>
  </if>
  <property name="msbuild.params"
            value="/t:rebuild 
            /p:Configuration=${msbuild.config} 
            /t:ResolveReferences" />
  <property name="msbuild.params.weboutput" value="/p:WebProjectOutputDir=${build.absolutepath}" />
  <property name="msbuild.params.output" value="/p:OutputPath=${build.absolutepath}" />
  <!--nuget-->
  <property name="nuget" value="${path::get-full-path(dir.tools)}" />
  <property name="nuget.packages" value="${dir}\packages" />
  <property name="nuget.cache" value="C:\Users\${environment::get-user-name()}\AppData\Local\NuGet\Cache" />
  <property name="nuget.install" value="${dir}\nuget.install.bat" />
  <property name="nuget.params.install" value="${nuget} ${path::get-full-path(nuget.packages)}" />
  <!--wf-->
  <property name="wf.app" value="" />
  <!--clean-->
  <target name="clean" description="clean build folder">
    <delete dir="${build.absolutepath}"></delete>
  </target>
  <!--nuget install and update-->
  <target name="nuget" description="nuget install and update">
    <delete dir="${nuget.packages}"></delete>
    <delete dir="${nuget.cache}"></delete>
    <exec program="${nuget.install}"
          commandline="${nuget.params.install}"
          workingdir="${dir}" />
  </target>
  <!--build web-->
  <target name="promotionweb" description="PromotionWebsite">
    <property name="eam_web" value="PromotionWebsite" />
    <exec program="${msbuild}"
          commandline="${msbuild.params} 
          ${msbuild.params.weboutput}\${eam_web}
          ${msbuild.params.output}\${eam_web}\bin"
          workingdir="${dir}\src\xxx.Web" />
    <copy todir="${build.absolutepath}\${eam_web}\bin" overwrite="true">
      <fileset basedir="${dir}\src\Assembly\GAC\">
        <include name="System.Web.Mvc.dll" />
      </fileset>
    </copy>
    <delete>
      <fileset>
        <include name="${build.absolutepath}\${eam_web}\*.config" />
      </fileset>
    </delete>
    <if test="${project.config=='Release'}">
      <copy todir="${build.absolutepath}\${eam_web}" overwrite="true">
        <fileset basedir="${dir}\src\xxx.Web\Config\Release">
          <include name="Web.config" />
        </fileset>
      </copy>
    </if>
  </target>
</project>

3.通过bat命令辅助修改文件

copy ".\build\Release\xxxWebsite\application_config\Release.properties.config" ".\build\Release\xxxWebsite\application_config\properties.config" 
del ".\build\Release\xxxWebsite\application_config\Release.properties.config"

4.运行build webname debug 或 build webname Release
0 0
原创粉丝点击