All Projects → ravibpatel → ILRepack.Lib.MSBuild.Task

ravibpatel / ILRepack.Lib.MSBuild.Task

Licence: other
MSBuild task for ILRepack which is an open-source alternative to ILMerge.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to ILRepack.Lib.MSBuild.Task

SilkierQuartz
SilkierQuartz can host jobs using HostService and Provide a web management tools for Quartz !
Stars: ✭ 263 (+275.71%)
Mutual labels:  nuget
strados
Transform OBD2 data from your car into human readable data
Stars: ✭ 27 (-61.43%)
Mutual labels:  nuget
i-am-root-nuget-package
📦🏴‍☠️ NuGet package that shows we can run arbitrary code from any NuGet package
Stars: ✭ 22 (-68.57%)
Mutual labels:  nuget
Fissoft.EntityFramework.Fts
Full Text Search for Microsoft SQL Server with Entity Framework
Stars: ✭ 55 (-21.43%)
Mutual labels:  nuget
DomainResult
Tiny package for decoupling domain operation results from IActionResult and IResult types of ASP.NET Web API
Stars: ✭ 23 (-67.14%)
Mutual labels:  nuget
BilibiliLiveRecordDownLoader
Bilibili 直播录制与回放下载
Stars: ✭ 422 (+502.86%)
Mutual labels:  nuget
WatsonCluster
A simple C# class using Watson TCP to enable a one-to-one high availability cluster.
Stars: ✭ 18 (-74.29%)
Mutual labels:  nuget
Blazor.PersianDatePicker
A free JavaScript Jalali (Persian) and Gregorian (Miladi) dual datepicker library for Blazor applications
Stars: ✭ 40 (-42.86%)
Mutual labels:  nuget
PortaCapena.OdooJsonRpcClient
Odoo Client Json Rpc
Stars: ✭ 39 (-44.29%)
Mutual labels:  nuget
EntryCustomReturnPlugin
Xamarin.Forms Plugin to customize the Xamarin.Forms.Entry Keyboard Return Button
Stars: ✭ 81 (+15.71%)
Mutual labels:  nuget
BlazorTimeline
Responsive, vertical timeline component.
Stars: ✭ 56 (-20%)
Mutual labels:  nuget
dark-sky-core
A .NET Standard Library for using the Dark Sky API.
Stars: ✭ 55 (-21.43%)
Mutual labels:  nuget
CSJsonDB
A C# package that performs basic CRUD ( Create, Read, Update, Delete ) operations on a Json file, used for sample minimalistic DBs.
Stars: ✭ 75 (+7.14%)
Mutual labels:  nuget
xunit-to-junit
This Extensible Stylesheet Language Transformations can transform a xUnit.net v2 XML test results file into a JUnit test results file.
Stars: ✭ 21 (-70%)
Mutual labels:  nuget
PersianDataAnnotations
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
Stars: ✭ 38 (-45.71%)
Mutual labels:  nuget
Gatekeeper
Lightweight library in C# for implementing roles-based access control (RBAC). With Gatekeeper, you can define users, roles, resources, and permissions, and authorize requests.
Stars: ✭ 25 (-64.29%)
Mutual labels:  nuget
MQTTnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 3,309 (+4627.14%)
Mutual labels:  nuget
ViewFaceCore
C# 超简单的离线人脸识别库。( 基于 SeetaFace6 )
Stars: ✭ 345 (+392.86%)
Mutual labels:  nuget
ZetaProducerHtmlCompressor
A .NET port of Google’s HtmlCompressor library to minify HTML source code.
Stars: ✭ 31 (-55.71%)
Mutual labels:  nuget
ILStrip
C# Assembly unused classes/references/resources cleaner
Stars: ✭ 20 (-71.43%)
Mutual labels:  ilrepack

ILRepack.Lib.MSBuild.Task

MSBuild task for ILRepack which is an open-source alternative to ILMerge.

Install via NuGet NuGet NuGet

  Install-Package ILRepack.Lib.MSBuild.Task

Supported build tools

  • MSBuild

Usage

You just need to install NuGet package to merge all your project dependencies. If you want to customize the process then you can create a file named "ILRepack.targets" in your project folder. You can create it like shown below.

Example "ILRepack.targets"

<!-- ILRepack -->
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="ILRepacker" AfterTargets="Build" Condition="'$(Configuration)' == 'Release'">

    <ItemGroup>
        <InputAssemblies Include="$(OutputPath)\ExampleAssemblyToMerge1.dll" />
        <InputAssemblies Include="$(OutputPath)\ExampleAssemblyToMerge2.dll" />
        <InputAssemblies Include="$(OutputPath)\ExampleAssemblyToMerge3.dll" />
    </ItemGroup>

    <ItemGroup>
        <!-- Must be a fully qualified name -->
        <DoNotInternalizeAssemblies Include="ExampleAssemblyToMerge3" />
    </ItemGroup>

    <ILRepack
        Parallel="true"
        Internalize="true"
        InternalizeExclude="@(DoNotInternalizeAssemblies)"
        InputAssemblies="@(InputAssemblies)"
        TargetKind="Dll"
        OutputFile="$(OutputPath)\$(AssemblyName).dll"
    />

    </Target>
</Project>
<!-- /ILRepack -->

Configuration

You need to create "ILRepack.Config.props" file in your project folder to configure the behavior of ILRepack.Lib.MSBuild.Task.

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
  </PropertyGroup>
</Project>

You can specify following options inside the <PropertyGroup> element to configure the behavior of the ILRepack task.

Specify your custom Targets file path

If you don't want to add "ILRepack.targets" file in your project folder then you can specify your targets file path as shown below.

<ILRepackTargetsFile>$(SolutionDir)ILRepack.targets</ILRepackTargetsFile>

Specify Key File to use for signing

You can specify the path of the SNK file you want to use for signing your assembly as shown below. This configuration option only applies if you are using default targets file provided in NuGet package.

<KeyFile>$(ProjectDir)ILRepack.snk</KeyFile>

Specify whether to clear directory after merging

If you are using default targets file then you may notice that it clears Output directory after merging dependencies. You can turn this functionality off by setting ClearOutputDirectory to False as shown below.

<ClearOutputDirectory>False</ClearOutputDirectory>

Task options

Option Description
KeyFile Specifies a KeyFile to sign the output assembly.
KeyContainer Specifies a KeyContainer to use.
LogFile Specifies a logfile to output log information.
Union Merges types with identical names into one.
DebugInfo Enable/disable symbol file generation.
AttributeFile Take assembly attributes from the given assembly file.
CopyAttributes Copy assembly attributes.
AllowMultiple Allows multiple attributes (if type allows).
TargetKind Target assembly kind (Exe|Dll|WinExe|SameAsPrimaryAssembly).
TargetPlatformVersion Target platform (v1, v1.1, v2, v4 supported).
TargetPlatformDirectory Path of Directory where target platform is located.
XmlDocumentation Merge assembly xml documentation.
LibraryPath List of paths to use as "include directories" when attempting to merge assemblies.
Internalize Set all types but the ones from the first assembly 'internal'.
RenameInternalized Rename all internalized types (to be used when Internalize is enabled).
InternalizeExclude If Internalize is set to true, any which match these regular expressions will not be internalized. If internalize is false, then this property is ignored.
OutputFile Output name for merged assembly.
InputAssemblies List of assemblies that will be merged.
DelaySign Set the keyfile, but don't sign the assembly.
AllowDuplicateResources Allows to duplicate resources in output assembly.
AllowedDuplicateNamespaces Allows the specified namespaces for being duplicated in to input assemblies. Multiple namespaces are delimited by ",".
ZeroPeKind Allows assemblies with Zero PeKind (but obviously only IL will get merged).
Parallel Use as many CPUs as possible to merge the assemblies.
Verbose Additional debug information during merge that will be outputted to LogFile.
NoRepackRes Does not add the embedded resource 'ILRepack.List' with all merged assembly names.
Wildcards Allows (and resolves) file wildcards (e.g. `*`.dll) in input assemblies.
RepackDropAttribute Name of an attribute (optional). Members in input assemblies marked with this attribute will be dropped during merging.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].