Inputs Property

This parameter is required.

Inputs stores a list of assemblies to protect:

<Target Name = "Protect" AfterTargets="AfterCompile" BeforeTargets="BeforePublish">
   <ItemGroup>
       <Assemblies Include = "$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" / >
   </ItemGroup>
   <ArmDot.Engine.MSBuildTasks.ObfuscateTask
        Inputs = "@(Assemblies)"
        ReferencePaths="@(_ResolveAssemblyReferenceResolvedFiles->'%(RootDir)%(Directory)')"
        SkipAlreadyObfuscatedAssemblies="true"
   />
</Target>

Also, Inputs can contain options for an assembly.

The following options are available:

KeyFile specifies the path to the file containing the key pair, which is used to generate a strong name. If specified, ArmDot signs the assembly after obfuscation using the specified file. Use this option if an assembly is a strong-named one. Obfuscation modifies an assembly making a strong name signature not valid. That is why signing is required:

<Target Name = "Protect" AfterTargets="AfterCompile" BeforeTargets="BeforePublish">
   <ItemGroup>
       <Assemblies
        Include = "$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)"
        KeyFile="key.snk"
   />
   </ItemGroup>
   <ArmDot.Engine.MSBuildTasks.ObfuscateTask
        Inputs = "@(Assemblies)"
        ReferencePaths="@(_ResolveAssemblyReferenceResolvedFiles->'%(RootDir)%(Directory)')"
        SkipAlreadyObfuscatedAssemblies="true"
   />
</Target>

CreatePDB instructs ArmDot whether to create a PDB file or not. The possible values are: true, or false.

Microsoft.Build.Framework.ITaskItem[] Inputs { get; set; }