题
我工作的一个模块,用于CMS。该模块分布作为一类库DLL。
我有几个实用工具库,我想到使用这个模块。有,反正我可以链接,这些图书馆静态的,所以我不需要分发的几个DLL's(从而分发的我的实用工具库单独)?
我想只有一个DLL。
解决方案
你可以合并你的许多Dll与ILMERGE:
http://research.microsoft.com/~mbarnett/ILMerge.aspx
没有尝试过自己。希望这有所帮助。
简短的说明 (从下载的页)
ILMerge是一个实用工具,用于合并多个。网组成一个单一的。净件。它适用于可执行文件和Dll都带有几种选择控制的处理和格式的输出。见所附文件的详细信息。
其他提示
如果你不想使用ILMerge,看这页:
编者注:杰弗里*里希特建议,把你的dll入文件作为资源(每个DLL文件增加,显示其性质和改变其"建立行动"的"埋入的资源"。).然后一个定义类机是需要作出可执行的工作(在运行时,CLR不能找到依赖DLL集会,这是一个问题。为了解决这个问题,当应用程序初始化,注册一个回调的方法与程序域的ResolveAssembly事件).
一定要改变 resourceName
串来点实际的资源。(例如改变 AssemblyLoadingAndReflection
到项目的名字.)
简短的回答是没有!你不能链接在一dll在汇编。我不知道是否有一些微妙的方式来做到这一点,但是你可能会有分发dll沿着与你cms。最好的方式来做到这一点是使某种重新分配的.
不隶属于 StackOverflow