ILRepack.Lib.MSBuild.Task icon indicating copy to clipboard operation
ILRepack.Lib.MSBuild.Task copied to clipboard

Does not work as described in readme

Open Jdbye opened this issue 1 year ago • 4 comments

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.

Jdbye avatar Jun 07 '24 21:06 Jdbye

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?

ravibpatel avatar Jun 08 '24 09:06 ravibpatel

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?

Jdbye avatar Jun 11 '24 14:06 Jdbye

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>

ravibpatel avatar Jun 12 '24 06:06 ravibpatel

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.

SolenoidMan avatar Oct 15 '24 12:10 SolenoidMan

@Webslug Is it possible to provide a project where I can reproduce this on my PC?

ravibpatel avatar Feb 13 '25 05:02 ravibpatel

@Webslug Is it possible to provide a project where I can reproduce this on my PC?

Never mind, sorry I got it working. Apologies.

Webslug avatar Feb 13 '25 06:02 Webslug

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?

testsys-selva avatar Apr 01 '25 11:04 testsys-selva