Need information on Form.resx files.
-
I'm trying to understand form.resx files. Particularly what is put in them and why. I have found plenty of information on resx files in general, but I am looking specifically to understand the relationship between the Visual Studio form designer and the form.resx files. Most of the little I have seen on the topic says that the file is to facilitate localization and something about storing images for the form. The link to localization is definitely real, since when I select a different location I get another resx file for that location. Based on that, I assume that the default resx file is tied to the default location. The specific issue that has me interested in this topic is as follows: I have created a customizable form framework that allows users to filter a huge list of properties down to the ones that they care about. The initial list of properties is generated by reflecting on the business object that the form edits. Another form allows them to shift properties from a list to show and a list to hide. A custom attribute called ControlDescription can decorate the business objects' properties to specify the type of control to show, and additional information such as a domain to populate values in a drop-down list. A FormConfig object keeps all of the form customization settings, which consist of a series of show and hide property lists for the various business objects. So what does all this have to do with resx files? Well, the forms are serializing the FormConfig object into the resx file. More accurately it is serializing each item in each list into the resx file. These lists are pretty long because the business objects have so many properties, which is why all this madness was developed in the first place. Anyway, I can't figure out why it serializes this particular object into the resx. It seems to be causing problems, because the resx files are getting corrupted on a fairly regular basis. A typical (slightly absurd) error is: Object of type 'Us.Fed.Fs.Nris.Nrvs.BusinessObjects.ControlDescription' cannot be converted to type 'Us.Fed.Fs.Nris.Nrvs.BusinessObjects.ControlDescription'. My hope is, that if I understood what the resx is doing and why, that I can either prevent it from serializing these objects by restructuring the application, or avoid whatever is causing the corruption of the resx files. Thanks, Preston