Share

NAnt - A .NET Build Tool

Tracker: Bugs

5 Bug in <solution> macro expansion - ID: 1170100
Last Update: Comment added ( drieseng )

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


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.


Ray Johnson ( rjontilt ) - 2005-03-24 19:19

5

Closed

Fixed

Gert Driesen

Tasks

0.85

Public


Comments ( 2 )

Date: 2005-03-30 18:52
Sender: driesengProject AdminAccepting Donations

Logged In: YES
user_id=707851

This is now fixed in cvs. I'll upload a new nightly build in an
hour or so.


Date: 2005-03-30 10:31
Sender: driesengProject AdminAccepting Donations

Logged In: YES
user_id=707851

I have this (and a few other issues) fixed locally.

I'll commit the fixes to cvs after I've done some more
(regression) testing.


Attached File

No Files Currently Attached

Changes ( 6 )

Field Old Value Date By
status_id Open 2005-03-30 18:52 drieseng
resolution_id None 2005-03-30 18:52 drieseng
category_id None 2005-03-30 18:52 drieseng
artifact_group_id None 2005-03-30 18:52 drieseng
close_date - 2005-03-30 18:52 drieseng
assigned_to nobody 2005-03-30 10:31 drieseng