"No se permiten cambios en aplicaciones de 64 bits" al depurar en Visual Studio 2008


Estoy usando Visual Studio 2008, C#. Intento usar editar y continuar (edito el código mientras depuro), y obtengo esta excepción:

"No se permiten cambios en aplicaciones de 64 bits"

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

Author: ripper234, 2009-09-30

7 answers

Editar y continuar no es compatible con aplicaciones de 64 bits a nivel CLR, por lo que Visual Studio tampoco puede implementarlo.

La forma más fácil de solucionar este problema es dirigir su aplicación a chips x86. Esto hará que se ejecute en modo Wow64 como un proceso de 32 bits y, por lo tanto, sea capaz de ENC. Puede hacer esto haciendo lo siguiente

  1. Haga clic derecho sobre el .EXE aplicación y elegir propiedades
  2. Vaya a la pestaña Construir
  3. Cambiar el Cuadro combinado de destino de plataforma para x86

introduzca la descripción de la imagen aquí

 47
Author: JaredPar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-20 22:13:58

Personalmente, lo que realmente quiero es detener y editar, no editar y continuar.

Así que simplemente apago Herramientas / Opciones / Depuración / Edición y Continúo.

Hacerlo impide que ese molesto cuadro de diálogo me moleste por una característica que no quería en primer lugar: -)

 6
Author: Steve Pitchers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-30 17:13:55

La función "Editar y continuar" para código de 64 bits será compatible con Visual Studio 2013.

Más información aquí.

 4
Author: kenchilada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-28 14:55:59

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

Lo puedes encontrar en Bug Babble post.

Necesita compilar su ensamblado administrado con una CPU de destino de x86. Esto hará que se use el CLR de 32 bits en lugar del CLR de 64 bits.

Para un proyecto VB, haga clic derecho en el proyecto y vaya a Propiedades / Compilar / Opciones avanzadas de compilación / CPU de destino y ponlo en "x86". Para un proyecto en C#, haga clic derecho en el proyecto y vaya a Properites/Build / Platform Target y configúrelo en "x86".

Espero que ayude.

 4
Author: Vadim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-17 15:35:58

La función editar y continuar simplemente no se ha implementado en x64 todavía. No he oído ninguna actualización sobre cuándo planean hacerlo todavía.

Ver también ¿Por qué no edita y continúa trabajando en el CLR x64?

 3
Author: jcopenha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:25:40

Tuve el mismo mensaje de error en MS Visual C# Express 2010. Fue divertido, sin embargo, porque la aplicación fue definitivamente configurado como un proyecto x86!

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

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

No se por qué desapareció ... Supongo que MS Visual C # Express 2010 no está libre de errores;)

 0
Author: Jane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-06 08:50:32
  1. Cuando la CPU de destino se establece en 'Cualquier CPU', se ejecutará como una aplicación de 32 bits en una windows de 32 bits y una aplicación de 64 bits en una windows de 64 bits. Sin embargo visual studio no permite la función' editar y continuar ' para la aplicación de 64 bits.

  2. Para depurar 'fluidamente' en una máquina de 64 bits, podemos:

    A) establece 'Target CPU' en 'Any CPU' pero marca la casilla 'Prefer 32bit'.

    B) o, establezca 'CPU de destino' en 'x86'

MUY importante: ambas opciones requiere que la casilla' Habilitar optimizaciones ' no esté marcada.

 0
Author: Joe Wu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-11 00:52:12