32

Estás en Visual Studio ... presiona F5 (Run) y son recibidos por este cuadro de diálogo:¿Desea continuar y ejecutar la última compilación exitosa?

Hubo errores de compilación. ¿Te gustaría continuar y ejecutar la última versión exitosa?

Maravilloso.

estoy seguro de que hay casos en los que se ejecuta la última generación correcta es útil, sin embargo, tengo Nunca propósito respondió afirmativamente a esta pregunta. Oh, claro, hice clic en Sí muchas veces y esperé con frustración la primera oportunidad de deshacer mi error, pero nada más.

¿Alguna vez ha encontrado esta característica útil? Y si es así, ¿en qué circunstancias se volvió útil para usted poder ejecutar la última compilación exitosa de su aplicación?

¿Con qué frecuencia hace clic accidentalmente en Sí y patea mientras espera que la aplicación comience?

+4

Nunca he querido hacer clic en Sí en este cuadro de diálogo. Una pregunta secundaria: ¿hay alguna configuración que omita este diálogo con una respuesta predeterminada de no? –

+0

Si puede ejecutar la última ejecución exitosa, debe tener el código en alguna parte. ¿Por qué no puede simplemente seleccionar "restaurar código" a la última ejecución exitosa? –

+0

No tiene el código. Si la construcción falla, normalmente se encuentra en la etapa de compilación, no en el enlace, por lo que el binario antiguo no se ha sobrescrito todavía ... – forsvarir

Respuesta

38

En VS2008 existen las siguientes opciones que puede configurar para cambiar el comportamiento (no estoy seguro si hay opciones similares en otras versiones de Visual Studio):

Projects and Solutions/Build and Run 

    - On Run, when projects are out of date: 

      Always build 
      Never build 
      Prompt to build <== default setting 

    - On Run, when build or deployment errors occur: 

      Launch old version 
      Do not launch 
      Prompt to launch <== default setting 

Establecer las opciones anteriores en "Siempre construir" y "Do not launch" y obtienes lo que considero un comportamiento más portugués. Aunque a veces, cuando trato de iniciar el depurador y hay un error de compilación, me toma unos segundos darme cuenta de por qué no llego al punto de ruptura, pensé que estaría golpeando (podría ser bueno obtener algún tipo de 'tostadora' 'tipo de mensaje para sacarme de mi estupor).

+3

Mismas configuraciones en VS2010 –

+5

... y lo mismo en VS2012. Herramientas-> Opciones-> Proyectos y soluciones-> Construir y ejecutar. –

+5

¿Hay alguna manera de hacer lo mismo para las pruebas unitarias? –

6

Esto puede ser útil cuando depura una aplicación web y una de las páginas no se compila, porque algún otro desarrollador marcó una versión incorrecta o no puede ver el código más reciente por el motivo que sea, pero ya sabe no golpearás esa página. Lo hago todo el tiempo.

0

Interesante. En realidad, nunca he visto ese diálogo: sé que hay una opción para habilitar/deshabilitar la ejecución de la compilación exitosa anterior, por lo que quizás muestre primero un diálogo. Puedes ver si lo inhabilitas si no lo usas.

Una razón por la que esto puede ser útil, sin embargo, es si quiere recordarse a sí mismo cuál era el error en el que estaba trabajando. No todas las cosas se pueden arreglar en edit-and-continue, y es posible que necesite un jog de memoria.

0

También es útil en aplicaciones web, ya que obligará a los servidores cassini a iniciarse. Lo necesita si está trabajando en un proyecto en la solución que no compilará, y necesita actualizar los servicios web en otro proyecto.

0

Al usar VS 2008 Express, hay un cuadro que nunca volverá a mostrar este cuadro de diálogo. Acabo de probarlo y le quitará el diálogo, dejando solo un mensaje de compilación fallida en la parte inferior izquierda de la pantalla.

En cuanto a la frecuencia con que lo golpeo, con bastante frecuencia. Frustrante porque a veces he cambiado el código completo mientras probaba las cosas y obtengo algo completamente diferente a la tarea en cuestión. No estoy seguro de cuándo Microsoft pensó que esto sería útil.

5

Este comportamiento se puede definir bajo Herramientas-> Opciones-> Proyectos y Soluciones> construir y Run-> En Ejecutar, cuando Construir o se producen errores de implementación

aquí se puede seleccionar: - Lanzamiento de edad versión - No ejecute - Pida que se inicie

0

Funciona según la preferencia de selección del dll apropiado en el tiempo de ejecución. Los ejecutables no se generan si hay algún error generado, por lo que el compilador busca el ejecutable existente, que obviamente es el último compilado exitosamente.

Cuestiones relacionadas