Using VS.NET, I created a MFC Application project. The *only* change I made was to switch on the /CLR command line option (which then forces you to turn a few others off). This produces a single module .EXE managed assembly containing with managed code and unmanaged data. PEVerify /MD states that the metadata is valid. The application even runs successfully. However, upon inspection, there appears to be an invalid TypeRef. ILDASM /ADV shows the following:
TypeRef #17 (01000011) ------------------------------------------------------- Token: 0x01000011 ResolutionScope: 0x00000000 TypeRefName: COccManager Note the nil resolution scope. However, there is no EXPORTEDTYPE table in this single-module assembly. The type CoccManager is also never defined in the assembly. In fact, this type seems to only be referenced once in the entire application. Here is the ILDASM for the reference. It is a global function method parameter: Method #154 ------------------------------------------------------- MethodName: AfxEnableControlContainer (0600009A) Flags : [Public] [Static] [ReuseSlot] [PinvokeImpl] [HasSecurity] (00006016) RVA : 0x000075ee ImplFlags : [Native] [Unmanaged] [PreserveSig] (00000085) CallCnvntn: [DEFAULT] ReturnType: CMOD_OPT System.Runtime.CompilerServices.CallConvCdecl Void 1 Arguments Argument #1: Ptr ValueClass COccManager CustomAttribute #1 (0c00007e) ------------------------------------------------------- CustomAttribute Type: 0a00000b CustomAttributeName: System.Security.SuppressUnmanagedCodeSecurityAttribute :: instance void .ctor() Length: 4 Value : 01 00 00 00 > < ctor args: () How the heck I am suppose to resolve this TypeRef? Thanks in advance for any clues? -- Brent Rector, .NET Wise Owl Demeanor for .NET - an obfuscation utility http://www.wiseowl.com/Products/Products.aspx You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.