We're using resource files to handle UI-constants. This is working out alright. The problem is that we're getting lots of 'High'-level logging entries in ULS. They look like the following:
Failed to open the file 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Resources\ProjectResources.en-US.resx'.
#20015: Cannot open "": no such file or folder.
(#2: Cannot open "": no such file or folder.)
Failed to read resource file "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Resources\ProjectResources.en-US.resx" from feature id "(null)".
We are only going to use english language resources for now, but what's nice with resource files is that we can add support for other languages later.
Our resource file has the name ProjectResources.resx. If I add a file named ProjectResources.en-US.resx, I can't deploy my solution until I add my constants there as well (what happened to the fallback mechanism?). After I've added my constants to the en-US file, I obviously want to delete my constants in the root file to prevent having duplicate entries. The problem is then that any other language locale won't find any resource file.
So my question is: How can I structure my resource files to
- Not have my ULS-log spammed, even if it works, and
- Avoid duplicate entries in the resource files?