This project is read-only.


BUG: Fix .NET 4.0 ILmerge when using VS2015/Roslyn


The ILMerge Task does not pass the correct Platform Directory when targeting .NET 4.0 and running under VS2015 or using the Roslyn compiler with .NET 4.5

Although ILMerge is passed 'v4', the directory it is passed contains the 4.5 assemblies on a machine with 4.5 installed (since 4.5 is an in-place upgrade)

This breaks Extension methods since the Extension attribute has moved to mscorelib - see:

Instead the Task should pass the reference assemblies for the 4.0 framework when targeting v4

The fix may be as simple as:
private string GetTargetPlatformDirectory(string value)
return ToolLocationHelper.GetPathToReferenceAssemblies(this.GetTargetPlatform(this.TargetPlatform));
Closed Dec 11, 2015 at 11:13 AM by archnae