OVH Cloud OVH Cloud

Refactoring et "Invalid Resx file" !

4 réponses
Avatar
ShadowFil
Bonjour

Suite au renommage d'un namespace et d'un type dans la bibliothèque de
classes Company.Business.dll (Company.Business.Plates.IPlate est devenu
Company.Business.Preparation.ISupport, j'obtiens l'erreur suivante dans le
fichier de ressource d'un controle utilisateur :

Error 15 : Invalid Resx file. Could not load type
System.Collections.Generic.List`1[[Company.Business.Plates.IPlate,
Company.Business, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]],
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
which is used in the .RESX file. Ensure that the necessary references have
been added to your project. Line 130, position 5.
D:\...\UI\Forms\InstrumentsForm.resx 130 5 NATUI

Comment puis-je corriger le problème sans refaire toute ma forme (et le code
qui va avec) ?

Merci pour votre aide.

4 réponses

Avatar
Tsunoo Rhilty
> Error 15 : Invalid Resx file.



A priori un fichier resx est un fichier xml.
Donc édite le avec notepad et fais les chgts nécessaires
Avatar
ShadowFil
Pas possible. Quand on ajoute un contrôle utilisateur sur une forme, une balise
<data><value>binaire</value></data> est ajoutée.
Et apparament, dans le binaire se trouve le namespace et le type du contrôle
utilisateur, ou des types utilisés par le contrôle utilisateur.

Comme le designer affiche une erreur quand je veux afficher la forme, il
m'est impossible d'enlever le contrôle utilisateur pour le remettre !
Avatar
DVDB
A ma connaissance, quand on ajoute un controle sur une form, Visual Studio
ajoute du code dans <nomform>.designer.cs, sauf si le controle en question
contient une image (une ressource...) auquel cas il y aura effectivement une
information dans un fichier resx (et un appel genre
...resources.GetObject("<identifiant>")... dans le fichier designer.cs)...
Reste que je suis d'accord avec Tsunoo, tout référence vers un élément est
texte dans .NET donc il doit être possible de faire une recherche dans le
projet (la solution?) avec Ctrl+Shift+F et l'ancien nom de la classe...

"ShadowFil" a écrit :

Pas possible. Quand on ajoute un contrôle utilisateur sur une forme, une balise
<data><value>binaire</value></data> est ajoutée.
Et apparament, dans le binaire se trouve le namespace et le type du contrôle
utilisateur, ou des types utilisés par le contrôle utilisateur.

Comme le designer affiche une erreur quand je veux afficher la forme, il
m'est impossible d'enlever le contrôle utilisateur pour le remettre !



Avatar
Paul Bacelar
J'ai eut le cas contraire dans plusieurs FrameWork de composants graphiques
qui placent du binaire dans les ressources pour leurs tambouilles internes.
--
Paul Bacelar
MVP VC++


"DVDB" wrote in message
news:
A ma connaissance, quand on ajoute un controle sur une form, Visual Studio
ajoute du code dans <nomform>.designer.cs, sauf si le controle en question
contient une image (une ressource...) auquel cas il y aura effectivement
une
information dans un fichier resx (et un appel genre
...resources.GetObject("<identifiant>")... dans le fichier designer.cs)...
Reste que je suis d'accord avec Tsunoo, tout référence vers un élément est
texte dans .NET donc il doit être possible de faire une recherche dans le
projet (la solution?) avec Ctrl+Shift+F et l'ancien nom de la classe...

"ShadowFil" a écrit :

Pas possible. Quand on ajoute un contrôle utilisateur sur une forme, une
balise
<data><value>binaire</value></data> est ajoutée.
Et apparament, dans le binaire se trouve le namespace et le type du
contrôle
utilisateur, ou des types utilisés par le contrôle utilisateur.

Comme le designer affiche une erreur quand je veux afficher la forme, il
m'est impossible d'enlever le contrôle utilisateur pour le remettre !