Hi.

I tried out the new VS 2005 solution task, with setup like:

 <solution configuration="${project.config}">
      <projects>
        <include name="${build.dir}/**/*.csproj" />
      </projects>
 </solution>
The build order was incorrect, for assemblies which had file-based references to /obj/Debug/assembly.dll

The attached patches should "fix" it - but I do not know if it breaks something...

--
Gert
--- c:\WMdata\nant\src\NAnt.VSNet\SolutionBase.cs.base  Fri Dec 22 18:35:00 2006
+++ c:\WMdata\nant\src\NAnt.VSNet\SolutionBase.cs       Fri Jan 05 20:24:28 2007
@@ -467,6 +467,10 @@
                         if (projectOutputFile != null) {
                             _htOutputFiles[projectOutputFile] = project.Guid;
                         }
+                        projectOutputFile = projectConfig.BuildPath;
+                        if (projectOutputFile != null) {
+                          _htOutputFiles[projectOutputFile] = project.Guid;
+                        }
                     }
                 }
             }
--- c:\WMdata\nant\src\NAnt.MSBuild\MSBuildConfiguration.cs.base        Fri Dec 
22 18:30:22 2006
+++ c:\WMdata\nant\src\NAnt.MSBuild\MSBuildConfiguration.cs     Fri Jan 05 
20:29:39 2007
@@ -51,7 +51,13 @@
                 project.ProjectDirectory.FullName,
                 _relativeOutputDir));
 
-            _objdir = new 
DirectoryInfo(msproj.GetEvaluatedProperty("IntermediateOutputPath"));
+            string relativeObjDir = 
msproj.GetEvaluatedProperty("IntermediateOutputPath");
+            if 
(!relativeObjDir.EndsWith(Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture)))
 {
+              relativeObjDir = relativeObjDir + Path.DirectorySeparatorChar;
+            }
+            _objdir = new DirectoryInfo(FileUtils.CombinePaths(
+                project.ProjectDirectory.FullName,
+                relativeObjDir));
 
             _outputType = GetType(msproj.GetEvaluatedProperty("OutputType"));
             _asmname = msproj.GetEvaluatedProperty("AssemblyName");
@@ -113,7 +119,9 @@
         }
 
         public override string BuildPath {
-            get { return _objdir.FullName; }
+            get {
+              return FileUtils.CombinePaths(ObjectDir.FullName, 
OutputFileName);
+            }
         }
 
         public override string RelativeOutputDir {

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to