ILRepack.Lib.MSBuild.Task
ILRepack.Lib.MSBuild.Task copied to clipboard
Does not work as described in readme
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.
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>
Also does not work by default for me, does nothing. Using the recommended targets file outputs "<Target> not recognized". I tried everything recommended and I'm giving up on this one.
@Webslug Is it possible to provide a project where I can reproduce this on my PC?
@Webslug Is it possible to provide a project where I can reproduce this on my PC?
Never mind, sorry I got it working. Apologies.
I have just installed the nuget and the project is a .NET Standard 2.0 library. In release mode I'm trying to build with the default targets file. I'm getting an error saying Failed to resolve assembly, for one of my packages. Thoughts on this?