web-dev-qa-db-fra.com

VS2008: "Fichier de ressource ouvert dans un autre éditeur"

Mais c'est un mensonge!

Bonjour à tous! J'ai le problème suivant: lorsque j'essaie d'ouvrir le fichier de ressources PriceCalculationUI.rc, Visual Studio 2008 me dit que le fichier est ouvert dans un autre éditeur (dans vs2008, je n'ai qu'un seul onglet ouvert contenant le fichier .cpp). . J'ai vérifié ces informations: exécutez Process Explorer et recherché le handle PriceCalculationUI. Dans les résultats, je n'ai trouvé que devenv.exe qui utilise le répertoire PriceCalculationUI.

Que puis-je faire ensuite?

Merci pour toute aide!

Informations complémentaires: lorsque je reconstruis (et que je ne construis pas) le projet, je vois une fenêtre de dialogue avec des informations indiquant que le fichier PriceCalculationUI.rc a été modifié par un autre programme.

19
GrinderZ

J'ai eu des problèmes avec cette erreur (également dans Visual Studio 2010) même lorsque je n'ai pas ouvert le fichier .rc/resource.h.

La seule façon de résoudre ce problème pour moi était d'ouvrir manuellement les deux fichiers dans l'éditeur de texte (parfois, une boîte de message "Le document '[chemin]\ressource.h' est déjà ouvert. Voulez-vous le fermer répondez par Oui), fermez les deux fichiers et essayez d’ouvrir le fichier de ressources dans la vue Ressource.

Cette page MS Connect suggère de fermer la solution, de supprimer le fichier .suo et de rouvrir la solution.

17
Edward Clements

Si vous rencontrez ce problème, vous devrez:

  1. fermez les fichiers .rc et resource.h ouverts à l'intérieur et à l'extérieur de Visual Studio. 
  2. réduisez les éléments dans l’onglet "Visualisation des ressources" de VS pour permettre à VS d’être actualisé. 
  3. Essayez de développer à nouveau .rc à partir de l'onglet "Affichage des ressources".

La raison pour laquelle VS donne cette erreur, c’est que VS mettra automatiquement à jour ces fichiers. Si vous ouvrez l’un de ces fichiers dans un éditeur, VS pense qu’il ya risque de conflit. Donc cela vous donne une erreur. Parfois, cela est un peu trompeur parce que VS semble ne pas connaître le fichier .rc et que les fichiers resource.h sont ouverts par lui-même. VS tire dans le pied lui-même le pied. 

11
user2825261

Problème résolu: PriceCalculationUI.rc a été ouvert dans l'éditeur de texte VS2008 (clic droit sur un fichier dans la solution Explorer -> Afficher le code), puis il a été enregistré et fermé . C'est tout! Lorsque je redémarre, le problème de VS2008 revient mais je sais quoi faire . Peut-être est-ce dû à Visual Assist X? Je ne sais pas.

P.S .: Merci pour vos réponses: la communion mène à l'action!

8
GrinderZ

C'est la seule façon qui fonctionne pour moi (Visual Studio 2015)
1) Ouvrir un projet avec un fichier de ressources verrouillé
2) Fermez tous les fichiers ouverts du projet dans Visual Studio.
3) Fermer Visual Studio
4) Démarrez Visual Studio et rouvrez le projet.
5) Fait. Le fichier de ressources est déverrouillé ...

3
Heribert Scharnagl

Il suffit d’ouvrir .rc fichier manuellement dans Visual Studio 

Faites un clic droit sur .rc fichier et cliquez sur Ouvrir

2
Yogesh Gat

Fermez tous les fichiers ouverts dans VS. Ensuite, je suis en mesure d'ouvrir le fichier rc.

2
Libor B.

Aujourd'hui, j'ai rencontré le même problème et voici comment j'ai résolu mon problème.

Cause fondamentale: J'ai ouvert le fichier 'Resource.h' depuis ma solution et son état est actuellement ouvert dans mon éditeur VS. Lorsque ce fichier est ouvert, il ne me permet pas d’accéder au fichier .rc en mode ressources. ("Un message est ouvert dans un autre éditeur)

Résolution: J'ai simplement fermé le fichier Resource.h dans l'onglet Editeur VS, puis le fichier .rc s'est ouvert correctement.

J'espère que cela vous aidera si vous avez le même problème.

1
cpp_learner
  1. Fermez tous les projets dans VS. 
  2. Fermez le VS.
  3. Rouvrir VS avec un projet vide.
  4. Ouvrir le fichier de ressources uniquement.
0
bruce

Il s’avère que les fichiers d’inclusion de ressources associées (ex: resource1.h ) doivent également être fermés, donc ...

  • assurez-vous que le fichier VersionResource.rc n'est pas ouvert
  • assurez-vous que tous les fichiers de ressources associés ne sont pas ouverts
  • réduire l'arborescence dans le volet d'affichage des ressources
  • ré-développez l'arborescence dans le volet d'affichage des ressources
  • (espérons-le) observer que l'erreur a disparu
0
CoderMark

Voici une autre possibilité - que vous ayez modifié manuellement le fichier resource.h, en ajoutant un nouveau #define, mais en omettant de mettre à jour _APS_NEXT_CONTROL_VALUE, par exemple, pour définir un nouveau contrôle, j'ai ajouté la ligne

#define IDC_LIST_MAINWIN 1003

mais j'ai oublié de modifier la ligne

#define _APS_NEXT_CONTROL_VALUE 1003

à

#define _APS_NEXT_CONTROL_VALUE 1004

Une fois que j'ai fait le changement, le problème a disparu.

0
Ian

Quelque chose qui n'est mentionné dans aucune réponse mais que j'ai rencontrée aujourd'hui:

Si vous avez un point d'arrêt dans le fichier d'en-tête de ressource, le fichier de ressource associé est considéré comme étant utilisé. Supprimer le point d'arrêt était tout ce qui était nécessaire pour que tout fonctionne à nouveau

0
ThE_JacO