Vitevic Assembly Embedder allows merging any referenced assembly into the main assembly as embedded resource. Using this tool you can seriously simplify your deployment process.
Fully integrates to Visual Studio (2010, 2012, 2013, 2015, 2017) and MSBuild (see screenshots below).
Works for libraries and WPF applications.
You can specify what references you would like to embed.
Correctly handles signed assemblies.
Supports 2 references types:
Assembly Reference (reference to a 3-d party dll)
Project Reference (a reference to a library project in the same solution). Plus, it can automatically detect all the library project dependencies and embed them too.
Uses a well known technique: embedding assemblies as resources within the main assembly and intercepting assembly load events (via AppDomain.AssemblyResolve event). This is done using a little-known feature of the CLR called a Module Initializer which is guaranteed to run before any other code. See more: