2011-07-18 17 views

Respuesta

9

PAL = capa de adaptación de la plataforma. Es ante todo un detalle del CLR, aislándolo de la implementación del sistema operativo. De hecho, verá que se utiliza en la copia de origen de referencia del código fuente para las clases .NET 4. Aparece en cualquier código que tiene una fuerte dependencia de la implementación del sistema operativo subyacente, evitando dicho código, ya que no puede funcionar en un sistema operativo que no sea Windows.

2

Es posible que esté familiarizado con el uso de las directivas DEBUG y RELEASE para envolver bloques de código específicos para el código de prueba/producción.

.NET Framework utiliza la directiva del compilador FEATURE_PAL para ejecutar código en las plataformas más nuevas. Tiene que adaptarse a la plataforma llamando a métodos nativos que se encuentran en dlls nativos. De ahí el nombre de la característica: 'Capa de adaptación de plataforma'.

Me encontré con esta publicación después de mirar el código de la clase Process. Uno puede imaginar que matar un proceso funciona diferente en una plataforma determinada.

Piense en el código que se ejecuta en una versión más reciente de Windows instalada en un dispositivo que utiliza un procesador ARM. Al matar un proceso, debe llamar a un método dentro de un dll nativo adaptado a esa plataforma.

Por lo tanto, al compilar el marco para tales plataformas, la directiva del compilador FEATURE_PAL se establece como 'símbolo de compilación condicional'.

Cuestiones relacionadas