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
-~----------~----~----~----~------~----~------~--~---

Reply via email to