| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- HOWTO bundle assemblies inside the mono runtime.
- Paolo Molaro ([email protected])
- * Intent
- Bundling assemblies inside the mono runtime may be useful for a number
- of reasons:
- * creating a standalone complete runtime that can be more easily
- distributed
- * having an application run against a known set of assemblies
- that has been tested
-
- Of course, there are drawbacks, too: if there has been fixes
- to the assemblies, replacing them means recompiling the
- runtime as well and if there are other mono apps, unless they
- use the same mono binary, there will be less opportunities for
- the operating system to optimize memory usage. So use this
- feature only when really needed.
- * Creating the Bundle
-
- To bundle a set of assemblies, you need to create a file that
- lists the assembly names and the relative files. Empty lines
- and lines starting with # are ignored:
-
- == cut cut ==
- # Sample bundle template
- mscorlib: /path/to/mscorlib/assembly.dll
- myapp: /path/to/myapp.exe
- == cut cut ==
-
- Next you need to build the mono runtime using a special configure option:
- ./configure --with-bundle=/path/to/bundle/template
- The path to the template should be an absolute path.
- The script metadata/make-bundle.pl will take the specifie
- assemblies and embed them inside the runtime where the loading
- routines can find them before searching for them on disk.
- * Open Issues
- There are still two issues to solve:
- * config files: sometimes they are needed but they are
- not yet bundled inside the library ()
- * building with the included libgc makes it not
- possible to build a mono binary statically linked to
- libmono: this needs to be fixed to make bundles
- really useful.
-
|