I was looking into binding xaml directly to a resource file which contains generated code from resgen.exe rather than having to build my own class to access the resource strings. At a minimum this suggestion would affect both Silverlight and Windows Phone 7 development.
Basically, the issue is the Resgen tool included with the Windows SDK creates an internal constructor on the designer code it generates even though the class has been marked public. Since the class constructor is internal, it cannot be added directly to a xaml resource dictionary as shown below...
<Application x:Class="SilverlightApplication1.App" xmlns:local="SilverlightApplication1">
Assuming in my above example, the resx file I added to my project was called AppResources.resx any attempt will result in AG_E_PARSER_UNKNOWN_TYPE exception to be thrown once the App.xaml is parsed.
One way around this problem is to use App.xaml.cs to manually create the instance in the App class constructor like so:
this.Resources.Add("LocalizedStrings", new SilverlightApplication1.AppResources());
However, while this approach works during runtime you will not be able to see anything during design time within Visual Studio.
My suggestion is to make the constructor from the generated code public if the public access modifier has been used. Although making it public for an internal class would have no effect, so the constructor could be made public permanently.