I think that would be REALLY tough to maintain here. 
In one of our apps, we have around 30 projects with
many dependancies interwoven throughout.  The easiest
thing for me, I think, is to use the solution task
like this:

  <target name="build">
    <solution configuration="release"> 
      <projects>
         <includes
name="${build.dir}\myproj\myproj.csproj" />
      </projects>
      <referenceprojects>
         <includes
name="${build.dir}\RefProj\RefProj.csproj" />
       </referenceprojects>
    </solution>
  </target>

That way, I can put it where I want it and my project
reference overrides any project reference set by the
developer (i.e. I can build it on any machine for any
application without worrying about path).

Eric

--- Bill Martin <[EMAIL PROTECTED]> wrote:

> Eric,
> 
> It depends how you compile your apps.  The way I
> have done this (and I'm not
> saying it's the best!) is I use the <csc>/<vbc>
> tasks rather than the
> <solution> task, and every project has its own
> .build file to build it.  I
> then have a controlling script and a properties
> file, and the properties
> file contains a bunch of properties that reference
> the output assembly fore
> each project.
> 
> In a specific project's build file, in the
> <references> section of <csc>, I
> reference the properties rather than the actual
> assemblies, that way, I
> always know the reference will point to the "common"
> assembly that has just
> been built, rather than some spurious reference that
> is on the machine
> somewhere.
> 
> I originally did this because hint paths and
> assemblies in the GAC were
> causing so much problem building inside DevEnv which
> was the build process
> before I took over.
> 
> As an aside, the project build files only really do
> any work in their <init>
> target, which sets up a bunch of project specific
> properties such as output
> assembly name etc.  Is then delegates to a generic
> build scripts file that
> has all the <csc>/<vbc> tasks etc in it so I can do
> global changes in one
> location.  Any project file can always override the
> generic behaviour if it
> needs to implement a target in a specific fashion.
> 
> HTH,
> 
> Bill
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On
> Behalf Of Eric Fetzer
> Sent: 12 September 2006 16:39
> To: Nant Users
> Subject: [NAnt-users] Shared Components
> 
> I'm looking for "Best Practices" for components that
> are shared among several applications in reference
> to
> NAnt.  First of all, dll or project references.  If
> I
> have dll references, I have to get all of the
> developers to keep these components in the same
> place
> as I keep them for the build so that the hint path
> resolves.  If I go with project references, I have
> to
> build the shared component inside of the same
> <solution> task as I'm building the application,
> correct?  What I'd rather do is call a .build file
> for
> each of the shared components telling it what label
> to
> get the code from and where to put the assemblies
> when
> it compiles them.  However, this only works for dll
> references because a project reference won't be able
> to resolve the GUID.  Any advise would be very much
> appreciated, we're getting A LOT of shared
> components
> going and it's getting pretty confusing the way I'm
> doing it right now.
> 
> Thanks,
> Eric
> 
> __________________________________________________
> 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
> 
> 
> 


__________________________________________________
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