query framework debug c# linq entity-framework debugging visual-studio-2013

c# - query - VS2013 Debugger+Entity Framework: "el tiempo de ejecución se ha negado a evaluar la expresión", se bloquea



debug entity framework query (5)

Poco después de instalar VS2013, también encontré el error

"No se pudo evaluar la expresión"

para numerosas variables al depurar una solución VS2012 anterior (ninguno de los códigos involucraba el marco de la entidad).

La solución que funcionaba era eliminar los dos archivos de Solution User Options (*.suo) asociados con el archivo de solución. Por ejemplo, para MySolution.sln , los dos archivos correspondientes fueron:

  • MySolution . v11 .suo (versión VS2012)
  • MySolution . v12 .suo (versión VS2013)

Parece que la versión v12 podría haberse corrompido cuando se creó inicialmente utilizando la configuración de la versión v11. Por lo tanto, la eliminación de ambos permitió la .suo un nuevo archivo .suo limpio para VS2013 y el problema desapareció.

(Tenga en cuenta que los archivos .suo están marcados como ocultos en Windows 7 por lo que es posible que no los vea fácilmente en el Explorador de Windows sin cambiar la configuración para mostrarlos o utilizar la línea de comandos para verlos).

Estoy teniendo muchos problemas con Entity Framework 6.0.1 en el depurador VS2013 Ultimate cuando me depuro en pruebas unitarias contra el código que está afectando a un SQL Server en vivo.

Las variables que contienen entidades no se pueden ver en el depurador. Por ejemplo, si ejecuto una consulta LINQ contra mi DbContext y actualizo la vista de resultados para ejecutar realmente la consulta, el valor de Resultados es "niños no pudieron ser evaluados". If I ToArray (), así que ahora la variable es una matriz de entidades en lugar de una IQueryable, cada resultado en la matriz es "No se pudo evaluar la expresión". Si almaceno un valor de entidad único de esa matriz a una variable y trato de verlo, obtengo "El tiempo de ejecución se ha negado a evaluar la expresión en este momento".

Con frecuencia, F10 ''a través de una línea que implica el acceso a una propiedad de la entidad hace que Visual Studio se cuelgue.

Esto no ocurre si estoy ejecutando la prueba contra un falso DbSet falsificado.

¿Es esto un problema conocido? ¿Hay alguna manera de arreglar esto?


Puede haber un problema con respecto a la depuración si hay alguna entidad con entidades virtuales dentro. Tuvimos este problema al intentar depurar en entidades dentro del alcance de Ef. Entity Framework luego trata de captar el estado de las entidades virtiales.

Obtuvimos un mejor resultado al ver las entidades fuera del alcance de db. De esta forma, EF no está involucrado mientras mira los valores de las entidades.


Solo quería agregar mi voz a la multitud aquí.

Estoy desarrollando una aplicación UWP, que no usa Entity Framework, y experimenté un problema similar en el que el tiempo de ejecución "se negaba a evaluar la expresión".

Estaba usando Microsoft Visual Studio Enterprise 2015 Update 2 y la solución para mí fue actualizar a la Actualización 3 .


Tengo un problema similar y, aunque aún no entiendo por qué, al activar Opciones -> Depuración -> General -> Usar modo de compatibilidad administrado - Activado, pude continuar con la depuración de forma normal.

Encontré esta opción a través de esta publicación de blog .