Evey de vez en cuando veo las versiones x86 y x64 de un ensamblado .NET. Considere lo siguiente web part for SharePoint. ¿Por qué el desarrollador no debería ofrecer una sola versión y dejar que el compilador JIT se encargue del resto? Cuando veo este tipo de ofertas, ¿es solo que el desarrollador decidió crear una imagen nativa usando una herramienta como ngen para evitar un JIT?¿Por qué los desarrolladores .NET ofrecen versiones de 32 bits/64 bits de ensamblados .NET?
Alguien ayúdeme por favor aquí, siento que me falta algo de importancia.
Actualizado
De lo que tengo a continuación, x86 y x64 construye se ofrecen debido a una o más de las siguientes razones:
El desarrollador quería evitar JITing y creó un nativo imagen de su código, apuntando a una arquitectura determinada usando una herramienta como ngen.exe.
El ensamblado contiene llamadas COM específicas de la plataforma, por lo que no tiene sentido construirlo como AnyCPU. En estos casos, las compilaciones que se dirigen a diferentes plataformas pueden contener códigos diferentes.
El ensamblaje puede contener llamadas Win32 utilizando pinvoke que no será reasignado por un JIT y por lo tanto la compilación debe apuntar a la plataforma a la que está vinculado.
Pensé que ngen solo podía ejecutarse en la máquina de destino. ¿Ya no es así? – erikkallen