Merge or embed .NET assemblies
Install the NuGet package in the target project. By default, referenced private assemblies (the ones with 'copy local' set) will be embedded and loaded when trying to be resolved.
However, the Blobber does much more.
It can also merge instead of embedding.
Also, assemblies referenced as not private ('copy local' not set) can be processed.
In order to make fine tuning, simply add a file named Blobber
at the projet root (it can be of any type, so the none
is recommended).
The syntax is:
[(<Configuration>)][<scope>]<name>:<action>
Where:
<configuration>
is the build configuration. If this is specified, then the directive only applies in the given configuration.<scope>
can be+
,-
or left empty (in which case it is equivalent to-
).-
addresses private assemblies (the 'copy local') and+
specifies public assemblies (I am honestly not sure this feature is useful)<name>
is the name of the assembly to match. Wildcards are supported, soSQLite
orMicrosoft.*
will work as expected<action>
isnone
,merge
orembed
.
Note: all lines are always processed, so you need to start from less specific to most specific.
So if no Blobber
file is found in project it will behave as if this line was specified:
*: embed
(even if a Blobber
file is used, the line above is always used before any other line).
There is a sample here