Hi,
I encountered a bug in VS2003.
At a certain moment, when building an executable, the build executable
was buggy (.NET 1.1 framework). When running, it immediately (before
executing user code) throws a ExecutionEngineException (run in VS2003)
or TypeLoadException (run stand-alone). The bug was proven when I
ildasm-ed it an tried to ilasm it: ilasm failed.
Also, when I solved the problem (by throwing away the obj-directory,
so the problem must have been related to the incremental build
proces), the differences between the buggy and the correct build
became apparent by examining the metadata.
It appeared that the good version had a struct in it which was wrapped
in a <PrivateImplementationDetails> class, while the bad version was
wrapped in my application class. (the good IL is shown at the bottom).
This struct, by the way, was autogenerated by the compiler and
contains some hardcoded data (a fixed array).
Maybe this is of any use to anybody.
Kind regards,
Edwin van de Burgt.
(please reply to the newsgroup only. Above email-address is not
used)
-----------
.class private auto ansi '<PrivateImplementationDetails>'
extends [mscorlib]System.Object
{
.class explicit ansi sealed nested private '$$struct0x6000034-1'
extends [mscorlib]System.ValueType
{
.pack 1
.size 18
} // end of class '$$struct0x6000034-1'
.field static assembly valuetype
'<PrivateImplementationDetails>'/'$$struct0x6000034-1'
'$$method0x6000034-1' at D_00004260
} // end of class '<PrivateImplementationDetails>'