Skip to content

Commit

Permalink
Added new option ExcludeInternalizeSerializable.
Browse files Browse the repository at this point in the history
  • Loading branch information
ravibpatel committed Jan 11, 2024
1 parent f45335a commit 25a8fc3
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 30 deletions.
6 changes: 6 additions & 0 deletions ILRepack.Lib.MSBuild.Task/ILRepack.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@ public virtual string TargetKind
/// </summary>
public virtual bool RenameInternalized { get; set; }

/// <summary>
/// Do not internalize types marked as Serializable.
/// </summary>
public virtual bool ExcludeInternalizeSerializable { get; set; }

/// <summary>
/// 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.
Expand Down Expand Up @@ -233,6 +238,7 @@ public override bool Execute()
XmlDocumentation = XmlDocumentation,
Internalize = Internalize,
RenameInternalized = RenameInternalized,
ExcludeInternalizeSerializable = ExcludeInternalizeSerializable,
DelaySign = DelaySign,
AllowDuplicateResources = AllowDuplicateResources,
AllowZeroPeKind = ZeroPeKind,
Expand Down
61 changes: 31 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,33 +91,34 @@ You can turn this functionality off by setting ClearOutputDirectory to False as

## Task options

| Option | Description |
|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| KeyFile | Specifies a key file to sign the output assembly. |
| KeyContainer | Specifies a key container to use. |
| LogFile | Specifies a log file 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 the 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 the merged assembly. |
| InputAssemblies | List of assemblies that will be merged. |
| DelaySign | Set the key file, but don't sign the assembly. |
| AllowDuplicateResources | Allows duplicating resources in the output assembly. |
| AllowedDuplicateNamespaces | Allows the specified namespaces from being duplicated into 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. |
| PauseBeforeExit | Pause execution once completed (good for debugging). |
| Verbose | Additional debug information during the 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. |
| Option | Description |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| KeyFile | Specifies a key file to sign the output assembly. |
| KeyContainer | Specifies a key container to use. |
| LogFile | Specifies a log file 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 the 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). |
| ExcludeInternalizeSerializable | Do not internalize types marked as Serializable. |
| 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 the merged assembly. |
| InputAssemblies | List of assemblies that will be merged. |
| DelaySign | Set the key file, but don't sign the assembly. |
| AllowDuplicateResources | Allows duplicating resources in the output assembly. |
| AllowedDuplicateNamespaces | Allows the specified namespaces from being duplicated into 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. |
| PauseBeforeExit | Pause execution once completed (good for debugging). |
| Verbose | Additional debug information during the 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. |

0 comments on commit 25a8fc3

Please sign in to comment.