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:
$(OutDir)/$(ProjectName).lib
Is there a more
formal process for reporting bugs or is sending to these addresses the right
thing to do?
Ray