Visual Studio 2012 no puede guardar el archivo mientras usa el editor de recursos

Este artículo ayuda a resolver el problema en el que Microsoft Visual Studio 2012 no puede guardar el archivo mientras edita un proyecto de Visual C++.

Versión del producto original:   Visual Studio Premium 2012, Visual Studio Ultimate 2012
Número de KB original:   2839032

Síntomas

Está usando Visual Studio 2012, donde está editando un proyecto de Visual C++ y realizando cambios en un cuadro de diálogo en el editor de recursos. Aparece un cuadro de mensaje inesperado con el mensaje de error:

Error de archivo no se puede guardar

Causa

Hay un problema con el modo en que la característica Autorrecuperación está interactuando con el editor de recursos. Cuando expira el intervalo de Autorrecuperación , si el recurso no se guarda, la Autorrecuperación lo intenta.

Nota

El intervalo predeterminado es cada 5 minutos.

Durante el proceso de guardar el archivo de recursos, intenta guardar un archivo denominado Resource.HM. La Resource.HM se usa cuando se usa la ayuda contextual, una opción al generar un proyecto de interfaz de usuario nativo. Cuando se habilita, crea identificadores de ayuda que se escriben en el archivo de encabezado del identificador de la ayuda, Resource.HM. No habrá ninguna Resource.HM a menos que habilite la propiedad Help ID para uno o más de los recursos.

Solución

  1. Evite el guardado con Autorrecuperación de los recursos editados.

    1. Deshabilite la opción Autorrecuperación en el entorno de opciones de herramientasde > Opcionesde > Environment > Autorrecuperación, desactivando la casilla Guardar información de autorrecuperación cada: :

      no seleccionada guardar información de Autorrecuperación automáticamente cada casilla de verificación

    2. Guarde los recursos editados dentro del intervalo especificado para evitar la activación de la función de guardado automático. Puede aumentar el intervalo, pero este intervalo también aumenta el riesgo de perder el trabajo que no haya guardado.

  2. No use ayuda contextual.

    1. Si no está usando el identificador de la ayuda contextual, el desactivado para cada control sería la solución más sencilla. Es más seguro desactivar el editor de recursos. En el editor de recursos, compruebe si todos los controles y una de las propiedades será el identificador de la ayuda. Establézcalo en false para todos los controles en los que sea true.

      IDENTIFICADOR de la ayuda de propiedades de control

    2. En su lugar, podría editar el archivo. RC directamente. Por ejemplo, si quita el último parámetro de cada control con un identificador de ayuda , se desactivará la característica:

      DEFPUSHBUTTON "OK", IDOK, 103, 31, 50, 14, WS_GROUP, 0, HIDOK