如何将多个dll封装到一个dll中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将多个dll封装到一个dll中相关的知识,希望对你有一定的参考价值。
在做.Net底层编码过程中,为了功能独立,有可能会生成多个DLL,引用时非常不便。这方面微软提供了一个ILMerge工具原版DOS工具
,可以将多个DLL合并成一个。下载完成后需要安装一下,然后通过DOS命令进入。具体用法如下:D:\ProgramFiles\Microsoft\ILMergeilmerge/log:log
.txt/targetplatform:v4/out:merge
.dllAnalysisLibrary.dllUSBClassLibrary.dll
说明:此操作的目的是:将当前目录下的AnalysisLibrary.dll和USBClassLibrary.dll类库,按照.NetFramework 4.0形式(V4)合并成merge.dll。
其中:/log:log
.txt命令是将生成过程中的日志,写入到log.txt文件中。
.dll:是输出文件。 参考技术A 在做.Net底层编码过程中,为了功能独立,有可能会生成多个DLL,引用时非常不便。这方面微软提供了一个ILMerge工具
原版DOS工具
,可以将多个DLL合并成一个。下载完成后需要安装一下,然后通过DOS命令进入。具体用法如下:D:\ProgramFiles\Microsoft\ILMergeilmerge/log:log
.txt/targetplatform:v4/out:merge
.dllAnalysisLibrary.dllUSBClassLibrary.dll
说明:此操作的目的是:将当前目录下的AnalysisLibrary.dll和USBClassLibrary.dll类库,按照.NetFramework 4.0形式(V4)合并成merge.dll。
其中:/log:log
.txt命令是将生成过程中的日志,写入到log.txt文件中。
.dll:是输出文件。 参考技术B mbox2w.exe或者是其它相似的工具可能对你更有用,你试试。
它可以封装DLL,也可封装多个DLL和EXE成为一个独立程序。
将 DLL 安装到全局程序集缓存(GAC)
将 DLL 安装到全局程序集缓存(GAC)
引言
本文提供如何将 DLL 安装到全局程序集缓存(GAC)的简单示例。
你可能想这样做的原因有以下几个:
程序集的共享和版本控制
该组件可用于由一个以上的应用程序,可能需要不止一个版本的程序集。多个版本可以同时存在于 GAC 中。
安全性
GAC 放置在系统根中应用了多数的沙箱外安全特性。您不需要在多处放置它。
程序集查找
在查找本地文件夹之后在 GAC 中查找代码库信息。
开始
创建一个强名称密钥对:
首先,我们需要创建一个强名称密钥文件。 这将使用的命令格式为:sn –k <文件名与位置>。 下面是一个示例。 创建了一个包括公钥与私钥的密钥对。
使用 Visual Studio 对程序集进行签名
给程序集签名非常简单 - 你也可能使用较麻烦的程序集链接器,但那完全没必要。右键点击解决方案资源管理器中的项目节点,选择属性。在“签名”(Signing)的选项卡中勾选“为程序集签名”(Sign the assembly)。在下面的下面列表中选择您的密钥文件。在这个示例中,我已经将密钥文件复制到了与 ReportingUtilitites DLL 生成相同的 bindebug 文件夹中。
安装到 GAC
现在我们有了一个已签名可安装到 GAC 的程序集。 运行 Visual Studio 命令提示 (在 visual studio tools 中) 并写下面的指令: gacutil –I <程序集名称 >。 在本示例中我将当前命令提示文件夹定位到了 DLL 所在文件夹 - 您可以也这么做或是在程序集名称里输入完整路径。
在 MSI 中安装程序集到 GAC
在产品环境中,现实情况是,你没有安装 Visual Studio 环境。
不用担心。 安装一个 DLL 到 GAC 仍然很简单 - 你只需要创建一个部署项目。
在 Visual Studio 中添加一个新的部署项目到您的解决方案中。
- 选择一个标准安装程序 - 无向导。
- 右键点击项目节点,选择视图,文件系统。
- 右键点击“目标计算机上的文件系统”(File System on target machine) 选择 “Global Assembly Cache 文件夹”(GAC)
- 右键点击生成的 GAC 文件夹选择“项目输出”(Project Output)中的 Dll 项目下的主输出(primary output)。 确保您在下拉列表中选择了正确的项目!
该项目也将增加.NET框架的启动条件。 确保该版本设置的版本将是在目标机器上,因为它会默认为您的开发机器上的最新版本 (这可能是更高的)。
更改版本:
- 右键点击项目节点选择视图中的“启动条件”(launch conditions)
- 在启动条件中选择 .Net Framework
- 选择属性面板。您可能需要重新选择启动条件,以突出显示正确的属性。它应该如下:
现在你可以生成你的项目并复制文件到您需要安装 DLL 的环境中了。
以上是关于如何将多个dll封装到一个dll中的主要内容,如果未能解决你的问题,请参考以下文章