Open Jdbye opened 3 months ago
The default targets file that is supplied with NuGet package should work with Release configuration. Can you tell me which .NET Framework version are you using, so I can try to reproduce it?
That may be my mistake as I assumed it would apply to both debug and release and I'm not sure if I actually tested the release build. I am using a custom targets file with the debug symbols enabled, but is it possible to use a custom targets file without manually specifying the input assemblies?
You can do just like I did it in default targets file. It will include the executable itself and all the DLL files in the output directory.
<Target Name="ILRepack" AfterTargets="Build">
<ItemGroup>
<InputAssemblies Include="$(OutputPath)$(TargetName)$(TargetExt)"/>
<InputAssemblies Include="$(OutputPath)*.dll" Exclude="$(OutputPath)$(TargetName)$(TargetExt)"/>
</ItemGroup>
<ILRepack
Parallel="true"
DebugInfo="true"
AllowDuplicateResources="false"
InputAssemblies="@(InputAssemblies)"
TargetKind="SameAsPrimaryAssembly"
KeyFile="$(KeyFile)"
OutputFile="$(OutputPath)$(TargetName)$(TargetExt)"
/>
</Target>
You cannot simply install the NuGet package and it will automatically merge all of the dependencies. it does nothing unless you create an ILRepack.targets file, which (as far as I can tell) requires manually defining the path of each dependency to merge. It would be nice if it worked automatically, like the readme says, or at least was able to automatically detect the dependencies to merge, since it's easy to forget adding a newly added dependency to the targets file.