“Los cambios en las aplicaciones de 64 bits no se les permite” al depurar en Visual Studio 2008

StackOverflow https://stackoverflow.com/questions/1498464

Pregunta

Estoy usando Visual Studio 2008, C #. Trato de usar edición-y-continue (editar el código durante la depuración), y obtener esta excepción:

"Los cambios en las aplicaciones de 64 bits no se les permite"

¿Por qué? ¿Hay alguna solución?

¿Fue útil?

Solución

Editar y continuar no es compatible con 64 bits aplicaciones a nivel CLR por lo que no hay forma de que Visual Studio para implementar tampoco.

La forma más fácil de solucionar este problema es para orientar su aplicación a los chips x86. Esto provocará que se ejecute en modo WoW64 como un proceso de 32 bits y por lo tanto ser capaz de ENC. Usted puede hacer esto haciendo lo siguiente:

  1. Haga clic derecho sobre la aplicación .EXE y seleccione Propiedades
  2. Ir a la acumulación Tab
  3. Cambie el cuadro combinado plataforma de destino x 86

introducir descripción de la imagen aquí

Otros consejos

En lo personal, lo que realmente quiero es detener y edición no edita y continuación.

Por lo tanto, sólo tiene que apagar Herramientas / Opciones / Depuración / Editar y continuar.

Si lo hace, inhibe ese cuadro de diálogo molestos de darme la lata sobre una función que falta que no quería, en primer lugar: -)

El "Editar y continuar" característica de código de 64 bits se admite en Visual Studio 2013.

Más información aquí .

Al igual que jcopenha dijo que no hay edición y continuación en x64 todavía. La versión actual de la CLR de 64 bits no lo soporta. Sin embargo, hay un trabajo alrededor.

Se puede encontrar en Bug posterior Babble .

  

Es necesario compilar el ensamblado administrado con una CPU de destino de x86. Esto hará que el CLR 32 bits para ser utilizado en lugar de la CLR 64 bits.

     

Para un proyecto de VB, haga clic derecho sobre el proyecto y vaya a Propiedades / Compilar / Opciones de compilación avanzadas / CPU de destino y ponerlo a "x 86".   Para un proyecto de C #, haga clic derecho sobre el proyecto e ir a Properites / Construcción / Plataforma de destino y ponerlo a "x 86".

Espero que ayuda.

La edición y continuación característica simplemente no se ha implementado en x64 todavía. No he oído las actualizaciones sobre cuándo van a hacer todavía.

Por qué no Editar y continuar trabajar en el CLR x64?

Yo tenía el mismo mensaje de error en MS Visual C # 2010. Fue gracioso sin embargo, ya que la aplicación se configuró definitivamente como Proyecto X 86!

En el final, fue la siguiente línea que falta en mi archivo .csproj:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MY_CONFIG|x86'">
    ...
    <PlatformTarget>x86</PlatformTarget>
    ...
</PropertyGroup>

No sé por qué le faltaba ... supongo MS Visual C # Express 2010 no está libre de errores;)

  1. cuando la CPU de destino se establece en 'Cualquier CPU', se ejecutará como una aplicación de 32 bits en Windows de 32 bits, y la aplicación de 64 bits en un sistema Windows de 64 bits. Sin embargo el estudio visual no permite 'edit-y-siga' característica para la aplicación de 64 bits.

  2. Con el fin de depurar 'fluidez' en la máquina de 64 bits, que puede:

    a) establecer 'CPU Target' a 'Cualquier CPU' pero marcar la casilla 'Prefiero 32bit'.

    b) o, set 'CPU Target' a 'x86'

Muy importante:. Tanto opción requiere que el '' Habilitar optimizaciones caja para estar sin marcar

Por desgracia, Editar y continuar no es compatible con 64 bits. De hecho, si intenta utilizar Editar y continuar al depurar una aplicación de 64 bits, se obtiene el siguiente mensaje de error: "Los cambios en las aplicaciones de 64 bits no están permitidos" Muchos usuarios pueden no ser conscientes de que, por defecto, cuando se crea un proyecto de C # o VB en Visual Studio 2008, la "Plataforma" para el proyecto se ajusta a "Cualquier CPU". Esto significa que si se ejecuta la aplicación en un sistema operativo de 32 bits, su aplicación se ejecutará como un proceso de 32 bits y de manera similar, si ejecuta la aplicación en un sistema operativo de 64 bits, la aplicación será de 64 bits. La consecuencia de "Cualquier CPU" es que cuando se intenta depurar la aplicación en un sistema operativo de 64 bits, no podrá utilizar la función Editar y Continuar.

Sin embargo, hay una solución. Durante el desarrollo, se puede establecer la plataforma para su proyecto de 32 bits que significa que su aplicación se ejecutará como un proceso de 32 bits, incluso en un sistema operativo de 64 bits. Esto se conoce como WOW64 o "Windows en Windows" que básicamente significa que puede ejecutar una aplicación de 32 bits en un sistema operativo de 64 bits.

Así pues, cómo se establece la plataforma para su proyecto de 32 bits? Pues bien, es necesario crear una plataforma de 32 bits utilizando el Gestor de configuración de Visual Studio. Aquí es un breve tutorial.

En primer lugar, abra el diálogo "Administrador de configuración" de Build -> Administrador de configuración. El diálogo Administrador de configuración se muestra a continuación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top