Bugs item #1442341, was opened at 2006-03-03 09:29
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1442341&group_id=31650

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Tasks
Group: 0.85
Status: Open
Resolution: None
Priority: 5
Submitted By: yzdeveloper (yzdeveloper)
Assigned to: Nobody/Anonymous (nobody)
Summary: Nant <solution> task with COM reference

Initial Comment:
Dear All,

I am trying to compile my VS.NET 2002 solution using 
Nant (.85 RC3)
Some of my projects contains COM references. Most of 
them have processed fine, but CDO 1.21.
I have create sample project with CDO reference.

If you open this project in VS.NET 2002 and select 
MAPI reference in Solution Explorer then value of 
Identity property is {3FA7DEA7-6438-101B-ACC1-
00AA00423326}\1.15\0\tlbimp
However in *.csproj file corresponding element is 
                <Reference
                    Name = "MAPI"
                    Guid = "{3FA7DEA7-6438-101B-ACC1-
00AA00423326}"
                    VersionMajor = "1"
                    VersionMinor = "21"
                    Lcid = "0"
                    WrapperTool = "tlbimp"
                />

If you open regedit (or just look at CDO.reg file 
provided)

[HKEY_CLASSES_ROOT\TypeLib\{3FA7DEA7-6438-101B-ACC1-
00AA00423326}\1.21]
@="Microsoft CDO 1.21 Library"

[HKEY_CLASSES_ROOT\TypeLib\{3FA7DEA7-6438-101B-ACC1-
00AA00423326}\1.21\0]

[HKEY_CLASSES_ROOT\TypeLib\{3FA7DEA7-6438-101B-ACC1-
00AA00423326}\1.21\0\win32]
@="C:\\WINNT\\system32\\CDO.DLL"


You will see that actual regestry is in decimal (not 
in hex).

If you would open WrapperReference.cs file from 
src\NAnt.VSNet you will see that expected registry key 
has been uderstood as hex from *.csproj file.


        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);
        }




Proposed change is to use decimal format instead. 
Please find the changed file enclosed.
The zip file contains WrapperReference.cs with 
changes, and test project to build


Thank you very much
Yuriy


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1442341&group_id=31650


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to