Bugs item #1170100, was opened at 2005-03-24 11:19
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Ray Johnson (rjontilt)
Assigned to: Nobody/Anonymous (nobody)
Summary: Bug in <solution> macro expansion

Initial Comment:
I tracked down a bug related to Macro expansion of 
VS.Net variables within NANT.  The symptom I was 
seeing was that macros like $(TargetName) and other 
target related macros were empty (null).  Obviously, this 
broke various asspects of the build.
I eventually was able to debug the problem by stepping 
through the NANT source in a debugger.  It appears that 
this can occur if the OutputFile attribute in a config of a 
vcproj file doesn't exist.  This attribute exists in the 
<tool Name="VCLinkerTool"> part of a project config.  
I'm not sure how this can occur.  (It happened in "new" 
configs - i.e. not Debug or Release, so perhaps it is not 
added by default?)  In any case, VS.Net certainly 
doesn't have a problem with the missing attribute...
Once I knew what was going on the fix was to change 
the value in the project config, apply the change, and 
then change it back.  This ensures it is specified in the 
project file.
However, Nant would be more robust if it accounted for 
that and if the OutputFile attribute did not exist to set it 
to the default VS.Net would use, which is:

This can be reproduced by taking any solution with 
a .vcproj project and removing the attribute OutputFile 
within the project file.

Also, it appears the fix would be to adjust the 
GetToolSetting call in the OutputPath property getter of 
VcConfigurationBase.cs to use a default value.


You can respond by visiting: 

SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
nant-developers mailing list

Reply via email to