繁体   English   中英

.NET程序集依赖项

[英].NET Assembly Dependencies

也许我错过了一些明显的东西,但......

我已经构建了一个可重用的通用C#类库项目说(A.dll)引用其他3个程序集说(B.dll,C.dll和D.dll)

但是,如果我想在另一个项目中重用我的组件A.dll,我仍然需要包含对B.dll,C.dll和D.dll的引用。

有没有什么办法可以配置A.dll来构建它的所有依赖项到A.dll所以我不必包含其他3个程序集?

干杯

可以使用ILMerge工具合并程序集:

C:\Program Files\Microsoft\ILMerge\ILMerge.exe /target:library /out:abcd.dll a.dll b.dll c.dll d.dll"

这将合并的dll abcdabcd.dll 它还将合并调试符号,但不合并XML文档。

此外,您必须在新项目中引用dll本身,而不是相应的项目。 例外情况是,如果将库合并到可执行文件中,在这种情况下,您可以引用相应的库/项目,因为它们将加载可执行文件。

Mono项目也有一个工具,称为mkbundle。

还有ILRepack ,它旨在与ILMerge兼容,但是FLOSS。

这类似于DLL的静态链接,可以与原生C ++一起使用。 据我所知,你不能静态链接.NET代码中的程序集,因此你必须包括所有的DLL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM