ying to ues Nant to build a project which is reliant on a
number of COM objects.

I am using the solution task and it works fine except for
when the dll minor version is greater than 9, for example i
am using the MAPI dll, which is version 1.21

I looked into the code that parses that part of the projects
file,  it parses the number in the version number as a
decimal and then outputs it as hex format, which seems to be
wrong, (not sure if typelib version are in hex?) but I
changed it to the following so the version number is parsed
as a hex value and output as one and it seemed to fix the
problem I was having, are typelib versions hex?
/src/NAnt.VSNet/WrapperReference.cs:
        private string GetTypeLibVersionKey(XmlElement
elemReference) {
            string majorVersion =
(int.Parse(elemReference.Attributes["VersionMajor"].Value,
                
System.Globalization.NumberStyles.AllowHexSpecifier,
                CultureInfo.InvariantCulture)).ToString("x",
CultureInfo.InvariantCulture);
            string minorVersion =
(int.Parse(elemReference.Attributes["VersionMinor"].Value,
               
System.Globalization.NumberStyles.AllowHexSpecifier,
                CultureInfo.InvariantCulture)).ToString("x",
CultureInfo.InvariantCulture);
            return
string.Format(CultureInfo.InvariantCulture,
@"TYPELIB\{0}\{1}.{2}",
                elemReference.Attributes["Guid"].Value,
majorVersion, minorVersion);
        }


original code:

        private string GetTypeLibVersionKey(XmlElement
elemReference) {
            string majorVersion =
(int.Parse(elemReference.Attributes["VersionMajor"].Value, 
                CultureInfo.InvariantCulture)).ToString("x",
CultureInfo.InvariantCulture);
            string minorVersion =
(int.Parse(elemReference.Attributes["VersionMinor"].Value, 
                CultureInfo.InvariantCulture)).ToString("x",
CultureInfo.InvariantCulture);

            return
string.Format(CultureInfo.InvariantCulture,
@"TYPELIB\{0}\{1}.{2}",
                elemReference.Attributes["Guid"].Value,
majorVersion, minorVersion);
        }

thanks
Andrew


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to