Hi Everyone,

I am new to this group.I have started working on NAnt
recently and I have been facing some issues.I have web
reference to a main project(which is basically a
webservice hosted on my local computer as well.)
Following is the build script I have: 

<?xml version="1.0"?>
<project name="wwwroot" default="build">
  <property name="project.version" value="1.0" />
  <property name="project.config" value="release" />
  <property name="debug" value="true" />
  <property name="define" value="DEBUG;TRACE" />
  <property name="target.type" value="library" />
  <property name="output.type" value="dll" /> 

   <!-- Use TStamp to set a proerty to the the current
datetime defining the format -->

   <tstamp property="Build.DateTime"
pattern="yyyy-MM-dd.HHmm" verbose="true" />

  <target name="clean" description="cleans build
directory">
     <delete dir="NAntTestProject\bin" verbose="true"
failonerror="false"/>
     <delete dir="ContentLib\bin" verbose="true"
failonerror="false"/>
     <delete dir="ContentLib\obj" verbose="true"
failonerror="false"/>
     <delete dir="BillingService\bin" verbose="true"
failonerror="false"/>
     <delete dir="ContentDisplayer\bin" verbose="true"
failonerror="false"/>
  </target>    

  <!-- Used to get latest from VSS -->
  <target name="getlatest">  
  <property name="build.dir"
value="${nant.project.basedir}" />
  <property name="ssdir" value="C:\Program
Files\Microsoft Visual Studio\VSS\srcsafe.ini" />
  <property name="ssuser" value="Mambre" />
  <property name="sspassword" value="skylight" />
   <mkdir dir="${build.dir}" />
   <vssget localpath="${build.dir}\ContentLib"
           recursive="true"
           dbpath="${ssdir}"
           username="${ssuser}"
           password="${sspassword}"
           replace="true"
           path="$/Communications/Current/ContentLib"
/>
  <vssget localpath="${build.dir}\BillingService"
           recursive="true"
           dbpath="${ssdir}"
           username="${ssuser}"
           password="${sspassword}"
           replace="true"
          
path="$/Communications/Current/BillingService" />
  <vssget localpath="${build.dir}\ContentDisplayer"
           recursive="true"
           dbpath="${ssdir}"
           username="${ssuser}"
           password="${sspassword}"
           replace="true"
          
path="$/Communications/Current/ContentDisplayer" />
  <vssget localpath="${build.dir}\ContentCreator"
           recursive="true"
           dbpath="${ssdir}"
           username="${ssuser}"
           password="${sspassword}"
           replace="true"
          
path="$/Communications/Current/ContentCreator" />
  </target> 
    

  <target name="init">
    <call target="${project.config}" />
  </target>

  <target name="debug">
    <property name="project.config" value="debug" />
    <property name="build.debug" value="true" />
    <property name="basedir.suffix" value="-debug" />
  </target>

  <target name="release">
    <property name="project.config" value="release" />
    <property name="build.debug" value="false" />
    <property name="basedir.suffix" value="-release"
/>
  </target>  
  
  <!-- Used for COM projects -->
  <target name="InvokeCOM" >
    <tlbimp typelib="C:\Program Files\CyberSource
Corporation\CyberSource Developer Kit for
ASP\ics2com.dll"       

output="${nant.project.basedir}\extraDLL\Interop.ICSCOMLib.dll"
namespace="ICSCOMLib">        
    </tlbimp>
  </target>  

  <!-- Used for WebService -->
  <target name="CallWebService">
    <wsdl
path="http://localhost/BillingService/BillingService.asmx";
                language="CS"
namespace="BillingService" outfile="BillingService.cs"
failonerror="false" />
  </target>

  <!-- Builds the necessary projects -->
  <target name="build"
depends="init,clean,getlatest,references,webreferences,deploy"
description="compiles the source code">
   <property name="output"
value="${nant.project.basedir}\ContentDisplayer\bin"
/>   
   <call target="InvokeCOM" />
   <call target="CallWebService" />
   <mkdir dir="${output}" />
   <vjc target="${target.type}"
output="${output}\ContentDisplayer.dll"
debug="${debug}" define="${define}">
     <references>
      <include name="System.dll" />
      <include name="System.Data.dll" />
      <include name="System.Web.dll" />
      <include name="System.Windows.Forms.dll" />
      <include name="System.Drawing.dll" />
      <include name="System.Xml.dll" />
      <include name="vjslib.dll" />
      <include
name="ContentLib\bin\PageContentLib.dll" />
      <include
name="BillingService\bin\BillingService.dll" />      
      <include name="extraDLL\Interop.ICSCOMLib.dll"
/>    
     </references>
     <sources>
      <include name="ContentDisplayer\*.jsl" />       
   
     </sources>             
    </vjc>   
    <solution
solutionfile="NAntTestProject\NAntTestProject.sln"
configuration="release">          
      <webmap>
        <map
url="http://localhost/NAntTestProject/NAntTestProject.csproj";
path = "NAntTestProject\NAntTestProject.csproj" />
      </webmap>         
    </solution>   
  </target> 

 <!-- Used for project references..common libraries
-->
 <target name="references" description="references for
various web apps">
   <mkdir dir="${nant.project.basedir}\ContentLib\bin"
/>
   <vjc target="${target.type}"
output="${nant.project.basedir}\ContentLib\bin\PageContentLib.dll"
debug="${debug}" 

define="${define}">
     <sources>
      <include name="ContentLib\*.jsl" />     
     </sources> 
     <references>
      <include name="System.dll" />
      <include name="System.Data.dll" />
      <include name="System.Web.dll" />
      <include name="System.Windows.Forms.dll" />
      <include name="System.Drawing.dll" />
      <include name="System.Xml.dll" />
      <include name="vjslib.dll" />
     </references>
   </vjc>   
  </target>
  <target name="webreferences" description="web
references for WebServices">
    <mkdir
dir="${nant.project.basedir}\BillingService\bin" />   
   <csc target="${target.type}"
output="${nant.project.basedir}\BillingService\bin\BillingService.dll"
debug="${debug}" 

define="${define}" >
     <sources>
      <include name="BillingService\*.cs" />
      <include name="BillingService\*.asmx" />       
     </sources>
     <references>
      <include name="System.dll" />
      <include name="System.Data.dll" />
      <include name="System.Web.dll" />
      <include name="System.Web.Services.dll" />
      <include name="System.Xml.dll" />
     </references>
   </csc>
  </target>

 <!-- Set up some properties to define the from and to
on the email -->

      <property name="EMAILTO"
value="[EMAIL PROTECTED]" />

      <property name="EMAILCC"
value="[EMAIL PROTECTED]" />

      <property name="EMAILFROM" value="buildMaster"
/> 
     

      <!-- Define which Targets will be executed when
the script fails or succeeds -->

      <property name="nant.onsuccess" value="Success"
/>

      <property name="nant.onfailure" value="Failure"
/>

     

      <!-- Use of ${Build.DateTime} so a new file is
created each time.    -->

      <property name="LOG_DIR" value="C:\Logfiles" />

      <property name="Build.Success.Log"
value="${LOG_DIR}/SuccessfulBuildLog-${Build.DateTime}.txt"
/>

      <property name="Build.Failure.Log"
value="${LOG_DIR}/FailedBuildLog-${Build.DateTime}.txt"
/>

     

      <!-- Start recording a success and a failure Log
file -->

      <record name="${Build.Success.Log}" level="Info"
action="Start" />

      <record name="${Build.Failure.Log}"
level="Verbose" action="Start" />

     

      <!-- Build targets go here -->

     

      <!-- If the script fails execute the Failure
target which depends on CloseLogs and Mail.Failure -->

      <target name="Failure"
depends="CloseLogs,Mail.Failure">

            <!-- Since the script failed Delete the
Success Log -->

            <delete file="${Build.Success.Log}" />

      </target>

     

      <!-- If the script Succeeds execute the Success
target which depends on CloseLogs and Mail.Success -->

      <target name="Success"
depends="CloseLogs,Mail.Success">

            <!-- Here you might want to copy the good
build to another directory as the last good build -->
            <call target="zip" />

            <!-- Since the script failed Delete the
Success Log -->

            <delete file="${Build.Failure.Log}" />

      </target>

     

      <!-- Stop recording Logs -->

      <target name="CloseLogs" description="Closes log
files - do not call independently">

            <record name="${Build.Success.Log}"
action="Close" />

            <record name="${Build.Failure.Log}"
action="Close" />

      </target>

     

      <!-- Send an email telling everyone the build
failed -->

      <target name="Mail.Failure">

            <mail from="${EMAILFROM}"
tolist="${EMAILTO}" cclist="${EMAILCC}"

                  subject="Build Failed on
${Build.DateTime}"

                  message="The Automated build Failed
on ${Build.DateTime}. The log file is attached to this
email."

                  mailhost="MOAB.esintech.local">

                  <!-- Attach the log file to the
email -->

                  <attachments>

                        <includes
name="${Build.Failure.Log}" />

                  </attachments>

            </mail>

      </target>

     

      <!-- Send an email telling everyone the build
Succeeded -->

      <target name="Mail.Success">

            <mail from="${EMAILFROM}"
tolist="${EMAILTO}" cclist="${EMAILCC}"

                  subject="Build was SuccessFul on
${Build.DateTime}"

                  message="The Automated build was
succesful on ${Build.DateTime}."

                  mailhost="MOAB.esintech.local">

            </mail>

      </target>
     
      <!-- Used to deploy various projects and create
IIS Virtual Directories -->
      <target name="deploy" description="Creates
Virtual Directory">
        <property name="localpath"
value="${nant.project.basedir}" />
        <mkiisdir dirpath="${localpath}\ContentLib"
vdirname="ContentLib" authntlm="true" />
        <mkiisdir
dirpath="${nant.project.basedir}\BillingService"
vdirname="BillingService" />                
        <mkiisdir
dirpath="${localpath}\NAntTestProject"
vdirname="NAntTestProject" authntlm="true" />
        <mkiisdir
dirpath="${localpath}\ContentDisplayer"
vdirname="ContentDisplayer" authntlm="true" />
        <mkiisdir
dirpath="${localpath}\ContentCreator"
vdirname="ContentCreator" authntlm="true" />
        <copy todir="${localpath}\ContentDisplayer"> 
          <fileset>
            <include name = "ContentDisplayer\*.aspx"
/>
            <include name = "ContentDisplayer\*.asax"
/>
            <include name = "ContentDisplayer\*.asmx"
/>            
          </fileset>
        </copy>           
      </target>
      
   <target name="zip" description="zips the build
after successful compilation">
    <property name="build.dir"
value="${nant.project.basedir}/${nant.project.name}_${project.version}${basedir.suffix}"/>
    <zip zipfile="${build.dir}.zip">
      <fileset basedir="${nant.project.basedir}">
        <include name="ContentDisplayer\**" /> 
        <include name="NAntTestProject\**" />       
      </fileset>
    </zip>
  </target> 
</project>

Its the target name="CallWebService" that fails and
the error that I am getting is:

Description: An error occurred during the parsing of a
resource required to service this request. Please
review the following specific parse error details and
modify your source file appropriately. 

Parser Error Message: Could not load type
'BillingService.Global'.

Source Error: 
Line 1:  <%@ Application Codebehind="Global.asax.cs"
Inherits="BillingService.Global" %>

where BillingService is the name of the webservice
project.

Please note that I donot get this error if I run the
same project from Visual Studio envrionment(in taht
case everything runs fine).But it fails only when ran
through NAnt.

Any help in this regard is much appreciated

Thanks
Mandar

 
 

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to