【发布时间】:2013-10-02 15:39:18
【问题描述】:
我正在尝试使用 ILMERGE 将一个库合并到另一个库中。
主程序集大约 33 kb 大,要与其合并的程序集大约 5 Mb。 合并后,新程序集的大小为 1.2 Mb。
我需要一些帮助来理解合并中的日志,因为我认为合并后的程序集不应该小得多。
这是日志:
ILMerge 版本 2.13.307.0 版权所有 (C) Microsoft Corporation 2004-2006。版权所有。 ILMerge /lib:C:\Windows\Microsoft.NET\Framework\v4.0.30319 /lib:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies /t:dll /log:merge.log /zeropekind /targetplatform:v4,C:\Windows\Microsoft.NET\Framework\v4.0.30319 /out:ericsconnectionsM.dll ericsconnections_32.dll chilkatdotnet45.dll 将平台设置为“v4”,使用目录“C:\Windows\Microsoft.NET\Framework\v4.0.30319”作为 mscorlib.dll 在 Microsoft (R) .NET Framework v4.0.30319 上运行 mscorlib.dll 版本 = 4.0.0.0 输入程序集的列表是: ericsconnections_32.dll chilkatdotnet45.dll 尝试从文件“C:\Users\eervawo\Documents\Visual Studio 2010\Projects\EricsConnections\EricsConnections\bin\Debug\ericsconnections_32.dll”中读取程序集。 在汇编中成功读取。 EricsConnections_32 的元数据中没有报告错误。 尝试从文件“C:\Users\eervawo\Documents\Visual Studio 2010\Projects\EricsConnections\EricsConnections\bin\Debug\chilkatdotnet45.dll”中读取程序集。 找不到 PDB 文件。调试信息不适用于程序集“chilkatdotnet45.dll”。 在汇编中成功读取。 ChilkatDotNet45 的元数据中没有报告错误。 检查所有输入程序集是否具有兼容的 PeKind。 EricsConnections_32.PeKind = ILonly, Requires32bits ChilkatDotNet45.PeKind = 0 'ChilkatDotNet45' 的有效 PeKind 将被认为是:ILonly 所有输入程序集都有一个兼容的 PeKind 值。 AssemblyResolver:程序集“EricsConnections_32”正在引用程序集“System.Xml.Linq”。 AssemblyResolver:尝试引用程序集的目录。 AssemblyResolver:在引用程序集的目录中未找到程序集。 AssemblyResolver:正在尝试输入目录。 AssemblyResolver:在输入目录中未找到程序集。 AssemblyResolver:尝试用户提供的目录。 将程序集引用“System.Xml.Linq”解析为“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Xml.Linq.dll”。 (使用客户端提供的目录。) 找不到 PDB 文件。调试信息将不适用于程序集“System.Xml.Linq”。 AssemblyResolver:程序集“EricsConnections_32”正在引用程序集“System.Core”。 AssemblyResolver:尝试引用程序集的目录。 AssemblyResolver:在引用程序集的目录中未找到程序集。 AssemblyResolver:正在尝试输入目录。 AssemblyResolver:在输入目录中未找到程序集。 AssemblyResolver:尝试用户提供的目录。 将程序集引用“System.Core”解析为“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Core.dll”。 (使用客户端提供的目录。) 找不到 PDB 文件。调试信息不适用于程序集“System.Core”。 将程序集“EricsConnections_32”用于目标程序集的程序集级属性。 将程序集“EricsConnections_32”合并到目标程序集中。 将程序集“ChilkatDotNet45”合并到目标程序集中。 从目标程序集中删除程序集“ChilkatDotNet45”中的程序集级属性“System.Security.AllowPartiallyTrustedCallersAttribute” 将 8 个 Win32 资源从程序集“EricsConnections_32”复制到目标程序集。 目标程序集的元数据中没有报告错误。 ILMerge:编写目标程序集“ericsconnectionsM.dll”。 AssemblyResolver:程序集“System”正在引用程序集“System.Configuration”。 AssemblyResolver:尝试引用程序集的目录。 找不到 PDB 文件。调试信息将不可用于程序集“System.Configuration”。 将程序集引用“System.Configuration”解析为“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Configuration.dll”。 (用于引用模块的目录。) 引用模块“KERNEL32.dll”的位置是“” 引用模块 '' 的位置是 '' 引用程序集“mscorlib”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll” mscorlib 的元数据中没有报告错误。 引用程序集“Microsoft.VisualBasic”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.VisualBasic.dll” Microsoft.VisualBasic 的元数据中没有报告错误。 引用程序集“System.Xml.Linq”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Xml.Linq.dll” System.Xml.Linq 的元数据中没有报告错误。 引用程序集“System.Core”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Core.dll” System.Core 的元数据中没有报告错误。 引用程序集“System.Data”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Data.dll” System.Data 的元数据中没有报告错误。 引用程序集“系统”的位置是“C:\Windows\Microsoft.NET\Framework\v4.0.30319\system.dll” 系统的元数据中没有报告错误。 ILMerge:完成。
出了什么问题?
【问题讨论】:
标签: .net dll .net-assembly ilmerge