Yes, that is correct. We have marked a lot our our assemblies with x86 because of COM interop. On Vista x64, COM interop only works under WOW64.
I found this blog post that states it is in the IL called .corflags: http://www.julmar.com/blog/mark/PermaLink,guid,28d0a66c-1741-42a0-8ad0-1e2734c0e9f9.aspx I also found the enum Mono.Cecil.Binary.RuntimeImage seems to provide that info because it has F32BitsRequired and ILOnly among other flags. Thanks On Tue, Mar 3, 2009 at 11:48 PM, Leszek Ciesielski <[email protected]>wrote: > > On Tue, Mar 3, 2009 at 2:07 PM, Mark de Bruijn <[email protected]> wrote: > > Processor architecture? Isn't CIL platform independent? And Cecil doesn't > > read unmanaged assemblies. > > > > On Tue, Mar 3, 2009 at 12:55 PM, Jonathon Rossi <[email protected]> > wrote: > >> > >> Hi, > >> > >> Does Cecil expose a property that tells you the processor architecture > of > >> the assembly like the one in System.Reflection? I looked right through > the > >> library but couldn't find any reference to it having this functionality. > >> > >> If it doesn't exist, would the code to read this belong in ImageReader > to > >> read from the CIL header? > >> > > CIL is not truly platform independent when you use P/Invoke. > Assemblies can be marked e.g. as x86, then MS.Net would launch them in > x86 mode even when running on x86_64 system, thus P/Invokes into 32bit > libraries would work. Mono ignores this attribute. > > > > -- Jono --~--~---------~--~----~------------~-------~--~----~ -- mono-cecil -~----------~----~----~----~------~----~------~--~---
