In some situations, you can simply embed third-party DLLs as built-in resources and resolve the links yourself, as Jeffrey Richter described here .
In a nutshell, at your entry point:
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
string name = new AssemblyName(args.Name).Name;
string resourceName = string.Concat("My.Namespace.Resources.", name, ".dll");
using(var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) {
var buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
return Assembly.Load(buffer);
}
};
Trioj source
share