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