Problème : VS 2012 « Impossible d’enregistrer fichier » lorsque vous utilisez l’éditeur de ressources

Symptômes

Vous utilisez Visual Studio 2012, lorsque vous modifiez un projet Visual C++ et apporter des modifications à une boîte de dialogue dans l’éditeur de ressources. Une boîte de message inattendu s’affiche avec le message d’erreur :

Cannot Save File

Cause

Il existe un problème avec la façon dont la fonctionnalité Récupération automatique interagit avec l’éditeur de ressources. Lorsque la ressource en cours de modification non enregistrée lors de l’expiration de l’intervalle de récupération automatique (la valeur par défaut est 5 minutes), récupération automatique tente d’enregistrer les fichiers de ressources. Au cours de cette, il tente d’enregistrer un fichier nommé resource.hm. Resource.hm est utilisé lorsque vous utilisez l’aide contextuelle, une option lors de la génération d’un projet d’interface utilisateur natif. Lorsque vous l’avez activé, il crée l’aide ID qui sont écrites dans le fichier d’en-tête ID aide resource.hm. Il ne sera pas tout resource.hm, sauf si vous activez la propriété « ID d’aide » pour un ou plusieurs de vos ressources.

Résolution

  1. Évitez d’enregistrement de récupération automatique de ressources modifiées.
    a. désactiver l’option de récupération automatique dans outils | Options | Environnement | Récupération automatique, en désactivant le « enregistrer les informations de récupération automatique tous : « case à cocher :Tools | Options | Environment | AutoRecover
    b. enregistrer vos ressources modifiées dans l’intervalle spécifié pour éviter le déclenchement d’enregistrement automatique. Vous pouvez augmenter l’intervalle, mais augmente également le risque de perdre le travail non enregistré.
  2. Ne pas utiliser l’aide contextuelle
    a. Si vous n’utilisez pas l’aide du contexte du code, puis la désactiver pour chaque contrôle serait la solution la plus simple. Il serait plus sûr de le désactiver à partir de l’éditeur de ressources. Dans l’éditeur de ressources, recherchez tous les contrôles, et l’une des propriétés sera ID d’aide. Définissez-la à « False » pour chaque contrôle où il est « True ».Control Properties Help ID
    b. vous pouvez également, vous pouvez directement modifier le fichier .rc. Par exemple, suppression d’ici le dernier paramètre pour chaque contrôle avec un ID d’aide peut désactiver la fonctionnalité :
    DEFPUSHBUTTON « OK », IDOK, 103, 31, 50, 14, WS_GROUP, 0HIDOK

Plus d'informations

Consultez cet article de blog sur récupération automatique : Visual Studio conseils & folles
Propriétés

ID d'article : 2839032 - Dernière mise à jour : 26 janv. 2017 - Révision : 1

Commentaires