none
Problema en la compilación al seleccionar Plataforma x86 RRS feed

  • Pregunta

  • Para empezar decir que trabajo con Visual Studio 2008 - Visual Basic. Mi SO es Windows 7 32 bits.

    Tengo una aplicación que debo compilar para una plataforma x86. El problema que me encuentro actualmente es que al seleccionar en las propiedades del proyecto, ficha "Compilar", "Configuración"- "Plataforma" ---> solo me permite seleccionar Any CPU. (No se me activan las opciones x86, x64, ....).

    La cuestion es que tengo alguna aplicación desarrollada anteriormente  donde estas opciones si están activas, pero no entiendo porque en la actual no me aparecen estas opciones. Ademas para sorpresa si creo una nueva aplicación, tampoco me aparece x86 en el combo de Plataforma (solo Any Cpu). 

    He probado ademas entrar en la opción "Opciones de compilación avanzadas" y en la opción "CPU de destino" aqui si aparece x86,x65,AnyCpu,  pero aunque seleccione x86 pero realmente creo que esto no tiene ningun efecto y en la opción del parrafo anterior sigue igual (En anteriores aplicaciones cuando selecciono la opcion x86 se crea una carpeta especifica para x86 en la carpeta bin con el resultado de la compilación. )

    Por mucho que he probado y comparada con otros proyectos donde si me aparece la opción x86 no encuentro cual es la diferencia que me impide compilar en x86.

    Por favor, despues de revisar este foro y otros no encuentro nada parecido. Se le ocurre algo a alguien, please?

    jueves, 19 de diciembre de 2013 11:42

Respuestas

  • El tema es que en la aplicación se usan unas dll's externas que solo funcionan si la aplicación que las usa esta compilada para x86.  Si uso una compilación anyCpu cuando ejecuto en un SO 64 bits la aplicación falla ya que entiende que debe optimizarse para 64 bits. Es por eso que tengo que realizar una compilación explicita de 32 bits.

    En cualquier caso muchas gracias, pero he de decir que ya he podido resolver el tema.

    La razón por la que no me aparecía la opción x86 en el administrador de configuración la desconozco. El caso es que yo había intentando en otras ocasiones generar en "Generar\Administracion de configuraciones" generar una nueva configuración de plataforma activa y cuando seleccionaba x86 me decia que ya estaba creada (???? pero realmente luego no me aparecia en el combo al compilar)

    Me funcionó finalmente así ---> generar una nueva con la opción "Copiar configuracion de" (Vacio) y el check "Crear nuevas plataformas de configuración" (Desmarcado)

    De esta forma si me crea la nueva configuración para x86 y puedo compilar ya para esta plataforma.

    Espero que le sirva a alguien por si entra en el mismo bucle que entré yo

    Un saludo

    • Propuesto como respuesta Sergio Parra viernes, 20 de diciembre de 2013 14:42
    • Marcado como respuesta Omar Ortiz viernes, 20 de diciembre de 2013 17:13
    viernes, 20 de diciembre de 2013 11:35

Todas las respuestas

  • Hola

    Pero cual es el problema que tienes ? Si usas ANY CPU en teoría debe de permitirte correr tu aplicación en ambas arquitecturas sin ningun problema, si quieres dejarla en x86 puedes intentar crear un nuevo proyecto y migrar esos folders a tu anterior proyecto y asi deben de aparecer, puedes revisar la siguiente documentación, espero te pueda ayudar a encontrar la solución que buscas.

    http://msdn.microsoft.com/es-es/library/ms165408(v=vs.90).aspx

    Saludos


    <EL CONTENIDO SE PROVEE "COMO ES" SIN GARANTÍA DE NINGÚN TIPO, ASÍ SEA EXPRESA O IMPLÍCITA>
     
    Gracias
     
    MSDN/TechNet Soporte Comunidades
     
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    jueves, 19 de diciembre de 2013 19:59
  • El tema es que en la aplicación se usan unas dll's externas que solo funcionan si la aplicación que las usa esta compilada para x86.  Si uso una compilación anyCpu cuando ejecuto en un SO 64 bits la aplicación falla ya que entiende que debe optimizarse para 64 bits. Es por eso que tengo que realizar una compilación explicita de 32 bits.

    En cualquier caso muchas gracias, pero he de decir que ya he podido resolver el tema.

    La razón por la que no me aparecía la opción x86 en el administrador de configuración la desconozco. El caso es que yo había intentando en otras ocasiones generar en "Generar\Administracion de configuraciones" generar una nueva configuración de plataforma activa y cuando seleccionaba x86 me decia que ya estaba creada (???? pero realmente luego no me aparecia en el combo al compilar)

    Me funcionó finalmente así ---> generar una nueva con la opción "Copiar configuracion de" (Vacio) y el check "Crear nuevas plataformas de configuración" (Desmarcado)

    De esta forma si me crea la nueva configuración para x86 y puedo compilar ya para esta plataforma.

    Espero que le sirva a alguien por si entra en el mismo bucle que entré yo

    Un saludo

    • Propuesto como respuesta Sergio Parra viernes, 20 de diciembre de 2013 14:42
    • Marcado como respuesta Omar Ortiz viernes, 20 de diciembre de 2013 17:13
    viernes, 20 de diciembre de 2013 11:35
  • Ok

    Que bueno que pudiste solucionarlo,  Y que pudiste compartir la respuesta con nosotros.

    Saludos


    <EL CONTENIDO SE PROVEE "COMO ES" SIN GARANTÍA DE NINGÚN TIPO, ASÍ SEA EXPRESA O IMPLÍCITA>
     
    Gracias
     
    MSDN/TechNet Soporte Comunidades
     
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    viernes, 20 de diciembre de 2013 17:15