C# ILMerge:在多个程序集中定义的预定义类型
我的Visual Studio解决方案中有3个C项目: 项目1:NET4中的类库 project2:Microsoft.Bcl.Asyn NuGet软件包的.NET4类库 projectFinal:NET5中的控制台应用程序 项目3参考项目2,项目2参考项目1。我不想将project1.dll隐藏到project3 因此,我启动ILMerge命令:C# ILMerge:在多个程序集中定义的预定义类型,c#,dll,assemblies,ilmerge,C#,Dll,Assemblies,Ilmerge,我的Visual Studio解决方案中有3个C项目: 项目1:NET4中的类库 project2:Microsoft.Bcl.Asyn NuGet软件包的.NET4类库 projectFinal:NET5中的控制台应用程序 项目3参考项目2,项目2参考项目1。我不想将project1.dll隐藏到project3 因此,我启动ILMerge命令: ILMerge /target:libray project2.dll project1.dll /out:project12.dll /in
ILMerge /target:libray project2.dll project1.dll /out:project12.dll /internalize /lib:C:\Windows\Microsoft.NET\Framework64\v4.0.30319
编译和合并都可以,我可以在我的project3中引用project12.dll。但我有很多警告:
The predefined type 'System.Action' is defined in multiple assemblies in the global alias; using definition from 'project12.dll'
或
如何解决编译/合并过程中的问题?您是否尝试了ILMerge的/allowDup参数?这是。NET 5???那是.NET4.5 Sorry,但当我将ILMerge与AllowDup一起使用时,我有一个错误:附加信息:无法从程序集“A.B.C,版本=1.0.0.0,区域性=中立,PublicKeyToken=null”加载类型“ProgressHandler”,因为方法“func”没有RVA的实现。
The predefined type 'System.Func' is defined in multiple assemblies in the global alias; using definition from 'project12.dll'