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) and MSBuild.
- 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:
Excerpt #2 from CLR via C#, Third Edition
Module Initializer (a.k.a Module Constructor)
Visual Studio just modifies the project file:
<HintPath>..\..\AWS SDK for .NET\bin\Net35\AWSSDK.dll</HintPath>
And embedding is done during MSBuild process.
Version 1.0.1 New Features:
- Assembly Embedder MSBuild extensions can be installed separately on any build server like TFS or TeamCity.
Limitations in this version:
- Supports only managed assemblies (except Portable Class Libraries)