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
4
votes
2 answers

Strategy for sharing resources between projects

I have a central library (DLL) called Core that is used by many projects (Some web apps, some win forms, some other class libraries). Some resources are stored in the Core library. When I need to use a resource file in the Core library, I need to…
Hugo Migneron
  • 4,867
  • 1
  • 32
  • 52
4
votes
3 answers

Localization Support for C# Console Application

I created a simple console application to display "Hello World" string. Later I brought in resource files to support different languages and put the translated version of "Hello World". I try to run the console.exe in chinese OS and expecting to see…
user3220129
  • 503
  • 9
  • 24
4
votes
2 answers

How to create a multi-lingual site

I am about to start on a project which must support a number of European languages. All static content on this site must be translatable between these languages. I have heard of satellite assemblies and have heard that they are used for…
Sachin Kainth
  • 45,256
  • 81
  • 201
  • 304
3
votes
1 answer

StaticResource where resource is in external assembly?

Basically, I want to keep all my XAML resources in an external assembly (for my styles). I have a reference of this external assembly in my application. Is there something to do with satellite assemblies or whatnot or how do I go about accessing…
michael
  • 14,844
  • 28
  • 89
  • 177
3
votes
1 answer

Reading string resources from satellite assemblies in Wix?

Is it possible through WIX to read resources from resource DLLs than hard-coding the strings in WXS/WXL files? I have the resources in satellite DLLs and I need something more efficient then copying and hard-coding them in WXS/WXL files. Thanks
user4444
  • 231
  • 2
  • 7
3
votes
4 answers

Best practice for reducing bloat with a helper/utility library for multiple projects

Ok, I have an application that I have developed, let's call it Project A. Functions not found in the Microsoft .NET Framework I put into a shared library, let's call this MyLib. Now Project B, C, D, E also uses MyLib (a lot of projects). My "MyLib"…
3
votes
1 answer

How to prevent resource assembly generation for embedded resources

I have a project which embeds some files into it, two of which ends with .SMS.something. When the project is compiled, a satellite assembly for the "SMS" culture is generated even though I have not specified anywhere that I want to use satellite…
Sense545
  • 494
  • 4
  • 14
3
votes
1 answer

WiX: How to automatically include localized satellite assemblies?

Can WiX be set to automatically include all generated satellite assemblies? The goal is to have a single English language MSI that installs an application with localized strings available for ~10 languages. I found this existing SO quetsion: How do…
3
votes
1 answer

Accessing different cultured resource files

I have various language resource files in this format: MyApplication\Resources\MyForm\Index.resx I can access the current cultured resource files okay. However, if I want to find a different culture resource file (say, Index.de.resx), I am…
3
votes
4 answers

How to deal with multiple resource files for localization?

I have a Project in which lot of resource strings are used. So, I keep them organized based on modules as a folder structure. Like if Module A is a folder then under Module A i have the following files. Module A ResourceFileA1.resx …
satya
  • 2,537
  • 9
  • 33
  • 43
3
votes
1 answer

Resources embedded in several Satellite Assembly's

I know there are several questions about satellite Assembly's out there, but I still have some troubles when trying to implement them My Goal is to separate each culture in a single assembly, giving me the flexibility to only re-compile one…
Jupaol
  • 21,107
  • 8
  • 68
  • 100
2
votes
1 answer

.NET 4 - Satellite assembly (language resources) DLL loading change in CLR / .NET / ASP.NET 4

Does anybody know if loading of satellite assemblies has changed in .NET/CLR/ASP.NET 4.0? It seems like now the GetString operation on resources is making a call to first check if the assembly is loaded in en-US, en-GB, en-AU, etc, and then loading…
2
votes
0 answers

satellite assemblies used from a .dll

I am trying to implement satellite assemblies. My scenario though is slightly different than the ordinary case. I have an executable assembly ( let's call it A.exe) and a .dll assembly (B.dll) A.exe references B.dll and A.csproj is the start up…
2
votes
2 answers

Creation of a satellite assembly

When I am trying to create a satellite assembly by using al.exe from the command prompt I am getting the following error. ALINK: error AL1019: Metadata failure while creating assembly -- Access is denied. How can I fix this problem?
sanjeev
  • 31
  • 2
2
votes
2 answers

Resource files and satellite assemblies

I am, for lack of a better word, a newbie to Localization and resource files. I am trying to localize an application I am working on and I want to do it using resource files and satellite assemblies, but I can't figure out how to do it correctly.…
Mike