Bugs item #1110737, was opened at 2005-01-27 15:09
Message generated for change (Comment added) made by drieseng
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1110737&group_id=31650

Category: Tasks
>Group: cvs
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: jrv (jrv72)
Assigned to: Gert Driesen (drieseng)
Summary: <solution> task throws on reference to VB.NET runtime

Initial Comment:
The exception:

System.Exception: Couldn't find referenced type 
library 'C:\WINDOWS\system32\Msvbvm60.dll\3'.
   at NAnt.VSNet.Reference.HandleWrapperImport
(XmlElement elemReference) in D:\Program 
Files\NAnt\NAnt.84\src\NAnt.VSNet\Reference.cs:line 
387
   at NAnt.VSNet.Reference..ctor(Solution solution, 
ProjectSettings ps, XmlElement elemReference, 
SolutionTask solutionTask, String outputDir) in 
D:\Program Fil
es\NAnt\NAnt.84\src\NAnt.VSNet\Reference.cs:line 124
   at NAnt.VSNet.Project.Load(Solution sln, String 
projectPath) in D:\Program Files\NAnt\NAnt.84
\src\NAnt.VSNet\Project.cs:line 194
   at NAnt.VSNet.ProjectFactory.LoadProject(Solution 
sln, SolutionTask slnTask,TempFileCollection tfc, String 
outputDir, String path) in D:\Program 
Files\NAntNAnt.84\src\NAnt.VSNet\ProjectFactory.cs:line 70
[more deleted...]

As best I can tell, the problem is because the 
HandleWrapperImport method encounters a typelib 
registration format it isn't expecting. The problem occurs 
in the lines:

_typelibFile = (string) registryKey.GetValue(null);

if (!File.Exists(_typelibFile)) {
   throw new Exception(string.Format
(CultureInfo.InvariantCulture, 
   "Couldn't find referenced type library '{0}'.", 
_typelibFile));

The value for the VB.NET runtime library 
is "C:\WINDOWS\system32\Msvbvm60.dll\3", where I 
believe the "\3" on the end refers to the resource id. 
Some other typelib registrations also have this format so 
I don't believe it is an error, although I am by no means 
a COM registration wizard.

My workaround is to remove the last two characters if 
the string ends in "\3", but that's obviously not so 
robust, and I'm not sure if there's other code that would 
depend on loading the typelib resource out of the file. It 
did seem to fix the problem.

So long,
JR


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

>Comment By: Gert Driesen (drieseng)
Date: 2005-02-08 12:21

Message:
Logged In: YES 
user_id=707851

This is now fixed in cvs, but one with one (serious) limitation:

If type library A references type library B, then we should 
first import type library B and use a reference to that 
imported type library when we import type library A.

However, I have no way to find out in which order the type 
libraries should be imported. So only if type library B is first 
listed in your project file, it will work fine.

If you can shed some more light on how we can analyse a 
type library to determine dependencies on other type 
libraries, then please provide us with that information and 
we'll look into adding it to the <solution> task ASAP.

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

Comment By: jrv (jrv72)
Date: 2005-02-08 00:25

Message:
Logged In: YES 
user_id=1206079

Hi,

The attached .zip has a sample project and NAnt build file. If 
I compile with Visual Studio and then run the CompileIt.cmd 
file (I run in the same directory; vbc.exe has to be on the 
path), the vbc.exe runs fine. If I compile using NAnt (using 
the include .build file) or, once NAnt has rebuilt the Interops, 
try to run the CompileIt.cmd, I get the error I was describing.

So long,
JR


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

Comment By: Gert Driesen (drieseng)
Date: 2005-02-07 22:12

Message:
Logged In: YES 
user_id=707851

Thanks for the additional info. It would be great if you could 
send me a repro for the new issue you ran into.

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

Comment By: jrv (jrv72)
Date: 2005-02-07 21:24

Message:
Logged In: YES 
user_id=1206079

See attached file.

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

Comment By: Gert Driesen (drieseng)
Date: 2005-02-05 08:05

Message:
Logged In: YES 
user_id=707851

Ping !

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

Comment By: Gert Driesen (drieseng)
Date: 2005-01-28 20:43

Message:
Logged In: YES 
user_id=707851

This should work fine in NAnt 0.85.

Can you try NAnt 0.85 RC1 or a recent nightly build 
(http://nant.sourceforge.net/nightly/latest) and let us know 
if that worked fine ?



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

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


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to