Otra opción es incrustar los otros ensamblajes como EmbededResource. Luego maneje los dominios de aplicación AssemblyResolve, desde aquí puede leer el ensamblaje del recurso y cargarlo en el tiempo de ejecución. Algo así como lo siguiente:
public class HookResolver
{
Dictionary<string, Assembly> _loaded;
public HookResolver()
{
_loaded = new Dictionary<string, Assembly>(StringComparer.OrdinalIgnoreCase);
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
string name = args.Name.Split(',')[0];
Assembly asm;
lock (_loaded)
{
if (!_loaded.TryGetValue(name, out asm))
{
using (Stream io = this.GetType().Assembly.GetManifestResourceStream(name))
{
byte[] bytes = new BinaryReader(io).ReadBytes((int)io.Length);
asm = Assembly.Load(bytes);
_loaded.Add(name, asm);
}
}
}
return asm;
}
}
El enlace a la entrada del blog se rompe . –
Por lo que puedo decir, al.exe se puede usar para crear ensamblajes satelitales, pero no creo que pueda unir múltiples recursos de cultura en un solo ensamblaje, que es lo que la pregunta requiere. –