title: How to compile localization DLLs (MyLibrary.resources.dll) into a single DLL?
body: <p>Using C# .NET with COM interop in VS2012, I'm developing a common library  for use in several other programs. To keep the integration simple, I would like to keep the entire library down to one DLL. One of the features of this library is localization. It has string tables with messages in multiple languages, each language having it's own ResX file.</p>
  
  <p>Presently, a <code>MyLibrary.resources.dll</code> is being created for each language and placed in its own subdirectory, like this:</p>
  
  <pre><code>Release\MyLibrary.dll
  Release\ja\MyLibrary.resources.dll
  Release\fr\MyLibrary.resources.dll
  </code></pre>
  
  <p>What I want to see is just this:</p>
  
  <pre><code>Release\MyLibrary.dll
  </code></pre>
  
  <p>Here are my current ResX settings.</p>
  
  <p><img src="https://i.stack.imgur.com/fo8mY.png" alt="ResX settings"></p>
  
  <p>I have tried using <code>ResXFileCodeGenerator</code> and <code>GlobalResourceProxyGenerator</code> for the "Custom Tool" generators. I also tried a few options for "Build Action" including Compile, but so far only Embedded Resource works. Other than that I'm not sure what else to try or if I'm on the right track. There aren't really that many settings to work with.</p>
  
  <p>I am aware that there are a <a href="https://stackoverflow.com/questions/126611/net-windows-application-can-it-be-compressed-into-a-single-exe">variety of tools</a> that may work to do this after building the DLL, but I'm looking for a compile-time solution. Third party tools are challenging from a maintenance standpoint -- I will not be the only one updating this library.</p>