Giter Site home page Giter Site logo

blobber's Introduction

Blobber

Merge or embed .NET assemblies

How to use it

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.

Tuning with the Blobber file

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, so SQLite or Microsoft.* will work as expected
  • <action> is none, merge or embed.

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

blobber's People

Contributors

picrap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

blobber's Issues

Use Assembly.LoadFrom

Apparently it seems to solve the problem when loading PCL System and System.Core.

Is inheritance merged?

When a class inherits (or implements) from types whose assembly is to be merged, not sure the type is merged.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.