System.Resources.MissingManifestResourceException when migrating from VS 2003 to VS 2005.
- Hi all,
I have converted an application using the Visual Studio 2005 wizard and after this I am having the following problem:
System.Resources.MissingManifestResourceException
"Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "newtelligence.DasBlog.Web.StringTables.StringTables.resources" was correctly embedded or linked into assembly "App_Code.el7nt025" at compile time, or that all the satellite assemblies required are loadable and fully signed."
It uses global resource files for language globalization and the exception above occurs when I invoke the function ResourceManager.GetString("text_key").
The conversion process moves the .resx files to the App_GlobalResources folder, and changing the base name of the resources in the ResourceManager constructor does not work, such as many other similar solutions I have tried.
I have already searched in serveral forums but nobody knows how to fix this problem.
Any idea on how to fix it?
Thanks in advance,
Edson- Edited byEdson Cunha Friday, October 16, 2009 5:15 PM
Answers
Sounds like something went wrong during the upgrade process. You might want to check that your project's default namespace is what you expect it should be. That affects the name of the resource file once it's compiled into your executable.
The easiest way of fixing this problem is to see what the IDE is actually emitting for the name of your resources file, then change your call to the ResourceManager constructor to look for this. (I don't know enough to repair broken VS projects.) Build your application in VS, then run ildasm on it. Click on the assembly manifest, and scroll down looking for manifest resources, which look like this:
.mresource public mscorlib.resources
{
// Offset: 0x00000000 Length: 0x0003B33D
}
Once you find this, you can change your call to the ResourceManager constructor to pass in that string (minus the ".resources" at the end). That should work for you.
All Replies
Sounds like something went wrong during the upgrade process. You might want to check that your project's default namespace is what you expect it should be. That affects the name of the resource file once it's compiled into your executable.
The easiest way of fixing this problem is to see what the IDE is actually emitting for the name of your resources file, then change your call to the ResourceManager constructor to look for this. (I don't know enough to repair broken VS projects.) Build your application in VS, then run ildasm on it. Click on the assembly manifest, and scroll down looking for manifest resources, which look like this:
.mresource public mscorlib.resources
{
// Offset: 0x00000000 Length: 0x0003B33D
}
Once you find this, you can change your call to the ResourceManager constructor to pass in that string (minus the ".resources" at the end). That should work for you.
- This doesn't work for me, my App_Code.xxxxxxx.dll file doesn't have a .mresource section, am I doing somethin wrong?
hi
i have the same problem. http://support.microsoft.com/kb/318603 tell to something. but i could not find configuration properties under myfile.resx
Please helpp
In the Form1.resX Property Pages dialog box, expand Configuration Properties, and then click General under Managed Resources.
- I had the same problem and I fixed it removing the namespace from all forms.

