The vb6 task doesn't appear to handle paths to references properly. My vbp file has the following line:
Reference=*\G{8D5F83AF-81DA-4699-BADE-41C0028FA3F4}#1.0#0#..\Lib\3rd Party\voyagerslamonitor.exe#VoyagerSLAMonitor 1.0 Type Library
I know this path is correct since the VB6 IDE compiles it just fine.
The vb6 task is making an assumption that the path ..\Lib\3rd Party\ is relative to the project BaseDirectory. This would be OK, except that my VB project lives in a subdirectory several levels below. The code then attempts to match majorver in an effort to call QueryPathOfRegTypeLib() and locate the reference. That's where it dies...
Here's the stack trace:
INTERNAL ERROR
System.FormatException: Input string was not in a correct format.
at System.Number.ParseUInt32(String s, NumberStyles style, NumberFormatInfo i
nfo)
at System.UInt16.Parse(String s, NumberStyles style, IFormatProvider provider
)
at System.UInt16.Parse(String s)
at NAnt.Contrib.Tasks.Vb6Task.ParseProjectFile(String projectFile, FileSet so
urces, FileSet references) in C:\nant-contrib\NAntContrib\src\Tasks\Vb6Task.cs:l
ine 266
at NAnt.Contrib.Tasks.Vb6Task.ProjectNeedsCompiling(String projectFile) in C:
\nant-contrib\NAntContrib\src\Tasks\Vb6Task.cs:line 158
at NAnt.Contrib.Tasks.Vb6Task.NeedsCompiling() in C:\nant-contrib\NAntContrib
\src\Tasks\Vb6Task.cs:line 98
at NAnt.Contrib.Tasks.Vb6Task.ExecuteTask() in C:\nant-contrib\NAntContrib\sr
c\Tasks\Vb6Task.cs:line 324
at SourceForge.NAnt.Task.Execute()
at SourceForge.NAnt.Target.Execute()
at SourceForge.NAnt.Project.Execute(String targetName)
at SourceForge.NAnt.Project.Execute()
at SourceForge.NAnt.Project.Run()