This is part of the Fake.DotNet.ILMerge module.

ILMerge

Contains task a task which allows to merge .NET assemblies with ILMerge.

Sample

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
   Target.create "ILMerge" (fun _ ->
        let target = !!"./bin/Release/*.exe" |> Seq.head
        let out = "./bin" @@ (Path.GetFileName target)
        ILMerge.run
          { ILMerge.Params.Create() with DebugInfo = true
                                         TargetKind = ILMerge.TargetKind.Exe
                                         Internalize = ILMerge.InternalizeTypes.Internalize
                                         Libraries =
                                            Seq.concat
                                              [ !!"./bin/Release/Mono.C*.dll"
                                                !!"./bin/Release/Newton*.dll" ]
                                         AttributeFile = target } out target)
module Seq

from Microsoft.FSharp.Collections
val head : source:seq<'T> -> 'T
val concat : sources:seq<#seq<'T>> -> seq<'T>

Nested types and modules

TypeDescription
AllowDuplicateTypes

Option type to configure ILMerge's processing of duplicate types.

InternalizeTypes

Option type to configure ILMerge's processing of internal types.

Params

Parameter type for ILMerge

TargetKind

Option type to configure ILMerge's target output.

Functions and values

Function or valueDescription
ILMerge.run(...)
Signature: parameters:Params -> outputFile:string -> primaryAssembly:string -> unit

Uses ILMerge to merge .NET assemblies.

Parameters

  • parameters - An ILMerge.Params value with your required settings.
  • outputFile - Output file path for the merged assembly.
  • primaryAssembly - The assembly you want ILMerge to consider as the primary.