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
> [email protected]
>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/nant-users