2009-06-11 10 views

Respuesta

12

.NET las aplicaciones se ejecutan de forma predeterminada en el marco que se dirige a la arquitectura del sistema operativo. Entonces, si está ejecutando Windows de 32 bits, el marco .NET instalado en la máquina sería el marco de 32 bits. Todas las aplicaciones .NET que se ejecutan en este marco se ejecutarán en "32 bit".

Si está ejecutando Windows de 64 bits, entonces está ejecutando un marco de 64 bits, pero el IL que se está ejecutando en la parte superior del marco no difiere (de forma predeterminada) del de IL de 32 bits.

En resumen: no importa si está ejecutando Windows de 32 bit o 64 bit ya que .NET framework lo abstrae del código C#/VB.

El marco Microsoft.Win32 se refiere a las API nativas dentro de Windows. A falta del nombre realmente malo que Microsoft le ha dado, no tiene nada que ver con Windows de 32 bits frente a 64 bits.

Por cierto, hay algunas cosas que no puede hacer con la versión de 64 bits del marco: por ejemplo, no hay un controlador de base de datos JET en el marco de 64 bits.

+0

¡Excelente respuesta! ¿Hay alguien que rastree las diferencias de 64 bits en .NET? --- tal vez un Blog? – rasx

+0

Ninguna que he visto. Yo también estaría interesado en esto. – rein

0

Por la misma razón, tenemos binarios de 64 bits almacenados en la carpeta system32 en Windows de 64 bits.

Básicamente, eso es porque las cosas en Microsoft.Win32 no son específicas de Windows de 32 bits. ¿Por qué deberían dañar la portabilidad sin ningún beneficio?

1

"Win32" es el nombre de la plataforma (es decir, el conjunto de API principal), independientemente de la bitness real del sistema operativo. En otras palabras, no te preocupes :)

Cuestiones relacionadas