#30 Solution Task does not maintain order of references

Release
open
nobody
Tasks (29)
5
2006-01-16
2006-01-16
Anonymous
No

The Solution task in 0.85rc3 does not maintain the
order of references specified in a project file. As a
result, where a project contains references to
assemblies with multiple definitions of symbols, you
can end up binding to the "wrong" symbol. This case
might seem odd, but is common if you use the ActiveX
Control wrapper facility.

The bug arises from the fact that ProjectBase walks
through the list of references for a project, using a
Hashtable to ensure unique references. Unfortunately,
this Hashtable is then used to write out the
references, meaning they are written out in hash order,
rather than order of listing. The patch maintains the
uniqueness check, but writes out unique references as
they are encountered, thereby maintaining their
original order from the project file.

Best Regards,

Neil MacIntosh
--
neil.macintosh@gmail.com

Discussion

  • Patched ProjectBase.cs

     
    Attachments