ILMerge StackOverflow 异常

ILMerge StackOverflow Exception

我正在尝试 运行 ILMerge 将我自己的程序集与三个第三方程序集结合起来。

var ilmerge = new ILMerging.ILMerge();

ilmerge.SetInputAssemblies(new string[] {
    @"C:\dev\MyAssembly.dll",
    @"C:\dev\Nest.dll",
    @"C:\dev\Elasticsearch.Net.dll",
    @"C:\dev\Newtonsoft.Json.dll"
});

ilmerge.OutputFile = @"C:\dev\MyAssembly.Merged.dll";

ilmerge.Merge();

我收到以下异常

An unhandled exception of type 'System.WhosebugException' occurred in ILMerge.exe

我该如何解决这个问题?

就我而言,Stephen Cleary 的 blog post 给出了答案。 .SetTargetPlatform(string, string); 方法应如下使用。

var ilmerge = new ILMerging.ILMerge();

ilmerge.SetInputAssemblies(new string[] {
    @"C:\dev\MyAssembly.dll",
    @"C:\dev\Nest.dll",
    @"C:\dev\Elasticsearch.Net.dll",
    @"C:\dev\Newtonsoft.Json.dll"
});

ilmerge.SetTargetPlatform("v4", @"C:\Windows\Microsoft.NET\Framework\v4.0.30319");

ilmerge.OutputFile = @"C:\dev\MyAssembly.Merged.dll";

ilmerge.Merge();