.net - net framework windows 10
¿Por qué no editar y continuar trabajando en el x64 CLR? (3)
Editar y Continuar requiere que el compilador corrige un ejecutable en ejecución. Esto se hace típicamente reemplazando todas las funciones alteradas. Obviamente, las versiones JITted de las mismas deben descartarse también, y las personas que llaman se adaptaron a ubicaciones posiblemente nuevas.
Esto no es especialmente difícil para x64, probablemente tan difícil como en x86. Pero a diferencia de x86, esto simplemente no se ha hecho todavía para x64. Y las diferencias entre x86 y x64 son lo suficientemente grandes como para que no puedas simplemente tomar el código x86 EnC y cambiar cada 4 en un 8.
Microsoft ha explicado que no admitirán Editar y Continuar bajo x64 CLR en Visual Studio 2010:
Al crear una nueva aplicación de consola de Visual C # en VS2010 para .NET 4.0, la configuración de destino predeterminada para el proyecto es apuntar a la plataforma x86 en lugar de a cualquier CPU (MSIL) como lo hace Visual Studio 2008
[...]
La adición de compatibilidad real para EnC con el CLR de 64 bits es, desafortunadamente, un gran elemento de trabajo y otras características fueron priorizadas sobre esto dado el trabajo de cambiar el objetivo de la plataforma a x86.
(desde http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=455103 )
La descripción en Microsoft Connect hace que parezca que Editar y Continuar de 64 bits es un cambio arquitectónico importante. Mi pregunta es: ¿qué es diferente acerca de x64 que hace que EnC sea difícil?
No he podido encontrar muchos detalles técnicos en la web, aparte de que "EnC de 64 bits no funciona".
Esta publicación de blog se amplía sobre lo que dijo MSalters: http://blogs.msdn.com/rmbyers/archive/2009/06/08/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx
Básicamente, Microsoft está más interesado en mejorar las herramientas de depuración x86 (por ejemplo, Intellitrace) que en mejorar las herramientas de depuración x64. Esto es bastante preocupante ya que parece que Intellitrace también tendrá que ser portado a x64 en algún momento, lo que probablemente retrase aún más las mejoras en la depuración x64.
Parece que el nuevo .NET Framework lo admite. De la sección de detalles de .NET Framework 4.5.1 Preview
La vista previa de .NET Framework 4.5.1 ... incluye estas importantes ... mejoras:
...
Edición de 64 bits y Continuar
...
Todavía no funciona en Visual Studio 2012 con la vista previa de .NET 4.5.1 instalada.