The other solution could be to define a new build configuration as follows in .Net IDE
1. Go to Build-> Configuration Manager 2. Select 'New' from the 'Active Build Configuration' drop down list. 3. Give it a name. 4. Select Debug/Release from the 'Copy Settings From' drop down list. 5. Click 'OK' 6. Select the checkboxes projects that need to be compiled for this configuration. 7. Select the newly created configuration to be as 'Active Solution Configuration'. This is required when we are compiling in the .Net IDE itself. 7. Click 'Close' This has created a new solution build configuration. This build configuration can be used in the Nant task as given below: <property name="config" value="patch-debug" /> <exec program="${devenv.exe}" > <arg value="${path::combine(project.sln.dir, project.sln.file)}" /> <arg value="/build" /> <arg value="${config}" /> <arg value="/Out" /> <arg value="${build.dir}/Build.log" /> </exec> Thanks Shelly -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Kemp Sent: Thursday, August 11, 2005 11:46 PM To: nant-users@lists.sourceforge.net Subject: RE: [Nant-users] Differential builds I think you might be right with the file::exists. At first I was worried I need to also check if the date changed, but I think that doesn't matter anymore. I definitely want to get away with modifying NAnt if possible. Now that I can build the scripts with a click of a button, I do not care how complicated the build script gets. -----Original Message----- From: Jeremy P. Owens-Boggs [mailto:[EMAIL PROTECTED] Sent: Thursday, August 11, 2005 2:12 PM To: Joe Kemp; nant-users@lists.sourceforge.net Subject: RE: [Nant-users] Differential builds If I understand correctly, then this should work well. It sounds like you may be modifying the source code to accomplish step 4 when you would only need to use the built-in nant function file::exists(). -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Kemp Sent: Thursday, August 11, 2005 11:57 AM To: nant-users@lists.sourceforge.net Subject: RE: [Nant-users] Differential builds I need to be able to produce these build to determine what files need to be updated on the client. I know typical installation apps (i.e. Installshield) can create patches to send out updates to apps. However, we are using a remote deployment scenario over a wireless network. Deployment is using a process kind of like the Microsoft Updater Application Block. Our solution is made up of a bunch of small assemblies. Here is what I have so far. 1. Wrote a Visual Studio plugin to create a NAnt script based on the open solution. It deals with dependencies, references, etc. 2. Wrote a utility to extract the public members of an assembly and write their specification to an xml document. 3. Wrote a utility to compare two xml documents to determine if any public members in the old assembly have changed in the new assembly. If so it creates a "changed file" as a flag. 4. Modified the FileSet.FindMoreRecentLastWriteTime to not only look at referenced assemblies date but also for the existence of the changed file flag that might have been created in 3. Signals a recompile is necessary if date and changed and the flag file exists. The NAnt script makes sure steps 2 and 3 are completed if any assembly is recompiled. So far so good. Hopefully, I am not going down a path of disaster. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gary Feldman Sent: Thursday, August 11, 2005 1:30 PM To: nant-users@lists.sourceforge.net Subject: Re: [Nant-users] Differential builds Joe Kemp wrote: > I am developing a process to create true differential builds. My > definition of a differential build is compiling only assemblies that > really need to be recompiled. This requires looking at more than the > datetime of the dependencies of an assembly. I need to know if any > public members have changed and then signal any referring assemblies > that they need to recompile. I think ant has a task <depend> that > kind of accomplishes this. Has anyone tried accomplishing this with > NAnt? It seems that this concept is contradictory to most build > environments. Reliance on datetimes and cleaning build environments > seem to be assumed the norm. > As near as I can tell from the Ant documentation, that's not what it's doing. It's determining dependencies based on whether or not a class has changed, without looking for changes that don't affect public members. This seems like a difficult problem, requiring deep knowledge of the way the .Net compilers use the information in referenced assemblies. It's probably not as difficult as the problem for standard C/C++, but it's still hard. If you're in a situation where there's so much coupling that recompilation times are an issue, that's probably an indication that you'd be better served by refactoring your codebase to reduce the coupling. Gary ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Nant-users mailing list Nant-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Nant-users mailing list Nant-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Nant-users mailing list Nant-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Nant-users mailing list Nant-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users