Questions tagged [satellite-assembly]

A satellite assembly is a compiled library (DLL) that contains (“localizable”) resources such as strings, bitmaps, etc. You are likely to use them when creating a multilingual (UI) application. By definition, satellite assemblies do not contain code, except for that which is auto generated.

A satellite assembly is a compiled library (DLL) that contains (“localizable”) resources such as strings, bitmaps, etc. You are likely to use them when creating a multilingual (UI) application. Satellite assemblies provide you with the capability of designing and deploying your solution to multiple cultures, rather than hard coding strings, bitmaps, etc., into your main application. Satellite assemblies are used to deploy applications in multiple cultures (not languages), with 1 satellite assembly per culture - this is the default behavior, but you can obviously have more granular control if you handle the build process manually.

By definition, satellite assemblies do not contain code, except for that which is auto generated. Therefore, they cannot be executed as they are not in the main assembly. However, note that satellite assemblies are associated with a main assembly that usually contains default neutral resources (for example, en-US). A big benefit is that you can add support for a new culture or replace/update satellite assemblies without recompiling or replacing the application’s main assembly.

Resource files have the extension .resx and are stored in folders matching the culture. Once compiled, .resources files are created. These are binary representations of the .resx files. Once the satellite assembly is generated, the resources will be stored in a .dll file.

From MSDN blogs

98 questions
54
votes
2 answers

What is a satellite assembly?

What is a satellite assembly, and when should they be used?
NM
18
votes
2 answers

Add satellite assembly in a pre-compiled deployed website

In order to make use of GetGlobalResourceObject() in Visual Studio 2008 I have to copy a .resx file into the folder App_GlobalResources of Visual Studio. After the application is precompiled, the resource files are being compiled into the…
ksa
  • 546
  • 1
  • 4
  • 20
18
votes
4 answers

How to embed a satellite assembly into the EXE file

I got the problem that I need to distribute a C# project as a single EXE file which is not an installer but the real program. It also needs to include a translation which currently resides in a subdirectory. Is it possible to embed it directly into…
rmbl
  • 325
  • 1
  • 4
  • 8
13
votes
3 answers

ILMerge and localized resource assemblies

We have an application whose structure when compiled looks something like this: Foo nb-NO Text.resources.dll sv-SE Text.resources.dll Bar.dll Foo.exe Text.dll Is it possible to use ILMerge on this? How would you do that?
Svish
  • 152,914
  • 173
  • 462
  • 620
9
votes
4 answers

What decides the target framework version of a satellite assembly?

What decides the target framework version of a satellite assembly? Looking at the log file I can see the satellite assembly is build by running ResGen.exe and Al.exe but I can't find out what decides the target framework of the resulting…
Magnus Lindhe
  • 7,157
  • 5
  • 48
  • 60
8
votes
2 answers

Deploying .NET satellite assemblies in specific folder

I'm working on a C# .NET application and I'm performing localization with resource files. I have culture specific resource files like: MyResource.resx; MyResource.fr-FR.resx; MyResource.ja-JP.resx; After building, in the application root folder…
KristijanSharp
  • 133
  • 1
  • 8
8
votes
5 answers

Override a resource from standard assembly in ASP.NET

I want to override a string from a System.ComponentModel.DataAnnotations for an ASP.NET project. Do I need to make a satellite assembly, messing with custom build tasks, al.exe etc.? Even if yes, I couldn't find how to convert .resx to .resources to…
wRAR
  • 25,009
  • 4
  • 84
  • 97
7
votes
2 answers

MSBuild exclude satellite assemblies from output

Is it possible to tell MSBuild to NOT copy the satellite asssemblies for a certain assembly or for all? I have a nuget package, which contains resource assemblies, but I do not want to include them in my output. Thanks.
DELUXEnized
  • 1,228
  • 16
  • 22
6
votes
2 answers

c# path of localized resources for plugin DLLs

In my C# application, I've a plugin mechanism that loads plugin DLLs from different pathes as specified in a configuration XML file. My application is localizable. The main assembly (the *.exe) has satellite assemblies for the localized languages…
6
votes
1 answer

Satellite resource .dll's compiles to wrong .net framework?

The program below is supposed to get a resource string from a satellite resourcefile. It works fine when compiled with target framework='NET Framework 4.5.2' using VS2015. However, setting target framework='NET Framework 3.5' makes it unable to find…
MadsN
  • 109
  • 6
5
votes
1 answer

How to load satellite assemblies relative to DLL

I have a situation where I supply a plugin DLL that uses .NET 4.0. This DLL uses ResourceManager to load strings. The strings in turn get translated and compiled into satellite assemblies. I'm not the author of the main EXE that loads and uses my…
Charles
  • 2,642
  • 3
  • 33
  • 53
5
votes
1 answer

Warning AL1073 when generating satellite assemblies

Under Visual Studio 2010, I am getting a compiler warning when generating a localized satellite assembly for a project. I am running Windows 7 64-bit. The project is being built in x86 (it has to be as it indirectly references an unmanaged DLL -…
Stephen Drew
  • 1,415
  • 19
  • 31
5
votes
3 answers

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…
SharpAffair
  • 5,558
  • 13
  • 78
  • 158
5
votes
2 answers

How do I include Satellite Assemblies(Localized Resources) in an MSI built with WiX?

The project I'm working on is switching from using the VS2008 deployment/installer to WiX, which i'm currently very new to. I've added the code to copy the output of the resources project into the Resources.dll, but in the old VS2008 installer file…
Septih
  • 1,436
  • 17
  • 40
5
votes
1 answer

Satellite Assembly, ASP.NET language not changing

I'm converting a project to use a satellite assembly. I created a new class library (named "Resources"). All of the default resources are at the root level *.resx. Then there is a folder for each culture. "en/" with *.en.resx en-GB/ with…
lko
  • 8,161
  • 9
  • 45
  • 62
1
2 3 4 5 6 7