I'm customizing an open-source .NET application. It compiles perfectly fine. But forms and controls refuse to show in designer, throwing the following error:
The satellite assembly named "XX.dll" for fallback culture "en-US" either could not be found or could not be loaded. This is generally a setup problem. Please consider reinstalling or repairing the application.
I know it's a multilingual application, but I'd like to drop additional languages and stick to simple captions customization via form designer.
Also, the issue prevents from adding images to controls. The same exception occurs on lines as the following one:
((System.Drawing.Image)(resources.GetObject("ItemXXX.Glyth")));
What do I n开发者_如何学运维eed to change in order to disable satellite assembly resources?
Thanks...
That's a way to remove the issue, but to fix it, add a UICulture
to your PropertyGroup
s in the project file that matches the
NeutralResourcesLanguage
used in the AssemblyInfo
file. You can then satisfy FxCop warning CA1824 if you ever need to.
e.g. In AssemblyInfo
:
[assembly: NeutralResourcesLanguage("en-GB", UltimateResourceFallbackLocation.Satellite)]
In project file (e.g. .csproj):
...
<PropertyGroup Condition="...">
...
<UICulture>en-GB</UICulture>
...
</PropertyGroup>
...
Found the answer.
Removing the following line from AssemblyInfo solved the problem:
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
I experienced this error only once, when trying to add a reference to a project.
I solved it simply restarting Visual Studio.
精彩评论