Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The satellite assembly named "XX.dll" for fallback culture "en-US" could not be found error in .NET app

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 need to change in order to disable satellite assembly resources?

Thanks...

like image 738
SharpAffair Avatar asked Feb 22 '11 15:02

SharpAffair


2 Answers

That's a way to remove the issue, but to fix it, add a UICulture to your PropertyGroups 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>
    ...
like image 162
AndyC Avatar answered Sep 26 '22 13:09

AndyC


Found the answer.

Removing the following line from AssemblyInfo solved the problem:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
like image 38
SharpAffair Avatar answered Sep 26 '22 13:09

SharpAffair