title: Resources embedded in several Satellite Assembly's
body: <p>I know there are several questions about satellite Assembly's out there, but I still have some troubles when trying to implement them</p>
  
  <blockquote>
    <p>My Goal is to separate each culture in a single assembly, giving me the flexibility to only re-compile one assembly at a time when required, I wouldn't like to compile all languages if I only want to make some minor changes to just one language</p>
  </blockquote>
  
  <p>I want to fully understand how satellite Assembly's work. This is my current understanding:</p>
  
  <ul>
  <li><p>Satellite Assembly's can be dropped in the bin directory without the need to recompile the whole application, which means the app does not require these assemblies in order to work correctly (as long as the fallback resource is specified)</p></li>
  <li><p>S.A. has to be linked to a single culture</p></li>
  </ul>
  
  <p>Now I can generate a S.A. using the <code>al</code> tool or Visual Studio can do it for me if I add the .resx files, the S.A. are created (in the bin folder I can see the folder structure for the specified cultures)</p>
  
  <p><strong>Question 1.</strong> Are these dll's equivalent, the one's generated by Visual Studio and the one's generated with the <code>al</code> tool?</p>
  
  <p><strong>Question 2.</strong> Do all these dll's must share a common name in order to work?? (I know for consistency they should, but if they do not share the name let's say creating them with the <code>al</code> tool specifying different names) can they still be recognized by the .Net framework to be loaded?</p>
  
  <p><strong>Question 3.</strong> If I want to use the <code>ResourceManager</code> class, do I have to instantiate one instance for each assembly-culture? (and since they contain the culture in their name, they have different assembly names, do I have to manually format the embedded resource file to load to match the current culture and load that assembly manually? Since they would probably not be loaded the first time, do I have to load it manually by specifying the file path inside the <em>culture folder</em>?)</p>
  
  <p><strong>Question 4.</strong> Are these S.A. loaded automatically by the .Net framework or do I have to explicitly load them?</p>
  
  <p><strong>Question 5</strong>. In case I have to load them, this means if I want to specify the resources declaratively in my control tags, do I have to create and register a custom resources factory in order to load them?</p>
  
  <p><strong>Question 6.</strong> If I add several resources for several cultures in a class project in visual studio with no code, they are automatically embedded, when I compile, the satellite assemblies for each culture are created, are these dll's related? I wonder if they are related by name, namespace or something</p>
  
  <p>All these questions are based on this: I thought I would be able to just add the assemblies to the bin folder and specify something like a <em>global assembly</em> in the <code>ResourceManager</code>, and it would load automatically the resources even when they'd be in a different assembly (that's why my concern about the assembly names or how several satellite assemblies are related) just like when you define resources in a single assembly, you just call the <code>Resources.MyResourceKey</code> and that's it</p>
  
  <p>I appreciate your hellp, this topic is driving me crazy =(</p>