c# - trucos - La función Editar y continuar dejó de funcionar en Visual Studio 2010
trucos visual studio code (18)
La característica Visual Studio Edit and Continue se detuvo en Visual Studio 2010, y no sé qué ha causado el problema.
Estoy trabajando en un programa de aplicación de Windows usando C #. Esta aplicación se desarrolló inicialmente en Visual Studio 2008 y luego se actualizó a Visual Studio 2010.
Todo funcionaba bien, incluyendo Editar y Continuar, hasta que actualicé .NET Framework de 3.5 a 4.0.
Ahora cuando uso el modo de depuración, al cambiar cualquier línea del código en el IDE, aparece el siguiente mensaje:
Se realizaron modificaciones que no se pueden compilar. La ejecución no puede continuar hasta que los errores de compilación sean corregidos.
En realidad, no hay errores de compilación, y debo reiniciar Visual Studio para que se ejecuten las actualizaciones.
¿Cómo puedo obtener Editar y Continuar trabajando nuevamente?
Para quién todavía obtiene este error incluso con Visual Studio 2017
No hay bibliotecas de clases dinámicas / portátiles / paquetes de Nuget ni problemas de dependencias. No hay errores o advertencias destacados por Visual Studio.
Después de horas dedicadas a probar todas las soluciones publicadas en este y otros hilos y páginas web, la única solución que funcionó para mí fue realizar el check-in, eliminar el área de trabajo y Map&Get
nuevamente .
Para eliminar el espacio de trabajo, Source control
→ Advanced
→ Workspace
→ Remove
.
Estoy usando Visual Studio 2017 Community actualizado y después de una instalación relativamente nueva en una máquina nueva (una semana y pocas horas de trabajo).
Métodos que probé sin éxito antes de la solución anterior
- Asegúrate de que se haya habilitado Editar y continuar en las opciones de Visual Studio. Desate y marque nuevamente
- Eliminando bin y obj para todos los proyectos en solución
- Limpiar y reconstruir todo, reiniciar VS / reiniciar en combinación con el anterior
- Comprobando las opciones de compilación y los paquetes Nuget y la compatibilidad dll para los proyectos, inspirados en this
- Descargar los proyectos en varias combinaciones para probar problemas de dependencias u otros problemas (inspirados en this )
- Eliminar la solución y volver a descargarla (sin eliminar el espacio de trabajo)
- Firme los tipos de interoperabilidad falsos para incrustar
- Establezca
<_ResolveReferenceDependencies>
entrue
como se explica here - Combinaciones de lo anterior con reinicio de VS y reinicios
Después de esto, hice un check-in y descargué la Solución en otra máquina con la misma versión de Visual Studio (Comunidad 2017). Como no recibí el problema Editar y continuar allí, solicité la eliminación de Workspace.
Al leer lo anterior, mi proyecto de interfaz de usuario tiene Shell32 con "Tipos de interoperabilidad incorporados" == verdadero. Lo cambié a falso, y "editar y continuar" comenzó a funcionar.
Ayer utilicé el generador de perfiles de Microsoft y luego mi característica "Editar y continuar" se escapó. Finalmente me di cuenta después de horas de frustración que necesitaba ejecutar el VsPerfCLREnv / globaloff desde el símbolo del sistema y reiniciar mi computadora. Ahora tengo mi edición y continúo el futuro. Por cierto, no tiene nada que ver con la plataforma objetivo. Funciona con la plataforma de destino establecida en cualquier CPU sin ningún tipo de molestia.
En VS 2015, este error fue causado por un paquete nuGet que había instalado recientemente. Al desinstalar este paquete y reinstalarlo, se solucionó el error.
En VS2013 tuve que habilitar "Usar modo de compatibilidad administrada" en las opciones de depuración. Creo que es porque tengo un proyecto .Net 4 que hace referencia a un ensamblado .Net 2.
Para otro proyecto en la misma solución tuve que desmarcar "Definir la constante TRACE" en las propiedades del proyecto.
En Visual Studio 2015, he eliminado la carpeta .vs (donde está el nuevo archivo .suo de estilo), eliminé todos los bin y obj, y también desinstalé Resharper 2015 . Editar y continuar está de vuelta.
(nota al margen: intellisense ahora muestra autocompletar casi instantáneamente, mientras que tardaba de 2 a 5 segundos antes, tal vez falla de reactivación, y tal vez sin relación ...)
En la vista del Explorador de soluciones, haga clic con el botón derecho en cada referencia de Referencias, elija Propiedades. En la vista Propiedades, firme False en el campo de Tipos de interpolación incrustados. Esto funcionó para mí.
En la vista del Explorador de soluciones, haga clic con el botón derecho en cada referencia de Referencias, elija Propiedades. En la vista Propiedades, firme False en el campo de Tipos de interpolación incrustados. Esto funciona para mí
En mi caso, esto fue debido a que Nuget no pudo descargar un paquete (creado para Net Framework) a un proyecto Net Standard al que se estaba haciendo referencia. Nuget ingresó un bucle infinito (mira en la ventana de salida).
La solución fue desactivar la configuración de ''restauración automática del paquete'', ver: https://developercommunity.visualstudio.com/content/problem/26638/nuget-infinite-loop.html
para acceder a esta configuración Herramientas> Opciones> Administrador de paquetes NuGet> General
En mi caso, lo que funcionó fue desmarcar "Requerir que los archivos fuente coincidan exactamente con la versión original" en las opciones de depuración. VS Community 2017 aquí.
En mi situación, alguien agregó una referencia al resultado del proyecto en la lista de referencia: en el Explorador de soluciones, busque en [Nombre del proyecto] / Referencias para [Nombre del proyecto *] y elimínelo.
Si el proyecto confía en el código de una copia de sí mismo, no puede ''Editar y Continuar''. En la lista de advertencias, puede o no (tener más probabilidades de hacerlo en un proyecto más grande) tener ''conflictos con los tipos importados'' si esta es la causa del problema.
Entiendo que esta publicación es antigua, pero tuve este problema últimamente, y esta publicación de blog me muestra cómo solucionarlo.
- Eliminar la carpeta obj
- Eliminar la carpeta bin . Puede copiar y pegar bibliotecas, archivos de datos, etc ... de vuelta a la carpeta después de la eliminación.
- Desde VS, menú Soluciones -> Solución limpia .
Esto funciona para mí varias veces.
Intentaría limpiar todos los archivos generados por VS. Así que eliminaría los directorios bin
y obj
y también eliminaría los *.suo
y *.user
. Dado que esos archivos se generan automáticamente, esto no debería afectar nada (aunque obviamente haría una copia de seguridad de todos los archivos, por si acaso hay otros archivos que se han puesto allí por error).
A veces esos archivos pueden corromperse (solía suceder bastante en el antiguo VC ++, etc.) y entonces VS puede empezar a actuar de forma muy divertida.
La función Editar y continuar no funciona con la palabra clave dynamic
.
Traté de eliminar el método que usa un parámetro dynamic
, y el proyecto convertido ahora funciona en Visual Studio 2010.
La investigación en Internet revela que se trata de un error que se ha informado a Microsoft. El siguiente enlace tiene más detalles:
Probé todas las soluciones anteriores, ninguna de ellas funcionó para mí. Sin embargo, cuando eliminé las carpetas bin y object en Visual Studio y volví a ejecutarlo, comenzó a funcionar.
Tenía algún archivo de Excel "embed interop types" == true
. Cuando lo cambié a falso, edito y continúo trabajando.
Tuve este problema en Visual Studio 2013, y:
- A veces, solo cerrar y volver a abrir la solución funciona, pero cuando eso no funciona
- reiniciar Visual Studio (Cerrar solución, salir de Visual Studio, Volver a abrir Visual Studio, volver a abrir la solución, volver a intentar la depuración con Editar y Continuar) lo corrige.
En mi caso, no tenía ningún tipo de interoperabilidad que estuviera incrustado, ni mi código tenía la palabra clave dynamic
, y había realizado una limpieza completa de la solución sin éxito. Sin embargo, me había estado ejecutando, depurando y reiniciando muchas veces, así que puede haber tenido algo que ver con la memoria: a Visual Studio le tomó más de un minuto cerrar, y durante ese tiempo el disco se agitó (presumiblemente, la paginación de la memoria en jugar).
trabajando con la comunidad VS2017 tuve este agravante problema: si usted transfiere un proyecto existente, la etiqueta EmbedInteropTypes puede no estar todavía en el archivo .csproj, una búsqueda es inútil. Si ese es el caso, agregue la etiqueta al final al grupo de propiedades Debug | x86 (o lo que usted use) al .csproj con un editor de texto:
antes de:
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Debug|x86'' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin/x86/Debug/</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>bin/Debug/MyProject.XML</DocumentationFile>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
después:
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Debug|x86'' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin/x86/Debug/</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>bin/Debug/MyProject.XML</DocumentationFile>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<EmbedInteropTypes>false</EmbedInteropTypes>
</PropertyGroup>
¡Esto debe hacerse con todos los proyectos que pertenecen a la solución!