Estoy usando VS 2010 Professional (en Windows 7 Professional 64), escribiendo con WCF 4.0. Tengo el siguiente código:depurador visual studio 2010 - pasos en una instrucción "if" a pesar de la condición false
if (responseMessage.StatusCode == HttpStatusCode.NotFound)
{
throw new ContentNotFoundException(contentId, SSPErrorCode.PartnerRestGetStream404);
}
Al colocar el depurador al proceso, habiendo un punto de ruptura en el "if" o antes de que, mientras que la condición es falsa (responseMessage.StatusCode es 'OK') , el depurador entra en la instrucción "if". A continuación, pasa por encima de la instrucción "arrojar" sin hacer nada, y luego continúa con el código.
He intentado:
reinicio VS, cerrar la sesión mi usuario de Windows, reiniciar, la limpieza de la solución, la construcción de nuevo, su reconstrucción, reciclar el grupo de aplicaciones, resarting IIS, la adición de más código dentro del "si "declaración y dentro de la condición - nada funcionó hasta ahora.
Debe haber un caché en alguna parte que pueda limpiar para deshacerse de él, pero ¿qué y dónde?
Haciendo búsquedas en Google solo encontré http: social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/d4b70fd7-b74a-42ce-a538-7185df3d3254/, así que intenté establecer manualmente el punto de interrupción, y no se rompió en esta clase, aunque lo mismo se rompió en otras clases.
Me encantaría solucionar esto sin reinstalar VS. ¡Gracias de antemano!
actualización:
- desde que puse esto y no podía encontrar una respuesta, me mudé con mi proyecto.
- me encontré con este problema, reportado por John MacIntyre en this post, que termina con un ejemplo simplificado:
using System; namespace IEnumerableBug2 { class Program { static void Main(string[] args) { if (new object() == null) throw new Exception(); try { } catch { } } } }
Actualización # 2:
Nota que mi El método también tiene una declaración try-catch, unas líneas después de la declaración 'if'.
Acabo de intentar reproducir este error de nuevo y he fallado. Voy a dejar la pregunta en stackoverflow para otros que puedan necesitarla, pero, como escribí, ya no puedo reproducir el comportamiento.
Parece un error genuino en el IDE. Informar a MS. – Martin
Esto parece corregido en Visual Studio 11 cuando se orienta a .NET 4.5; sin embargo, el error persiste al dirigirse a .NET 4.0. –
Gracias por avisarme. –