gpt4 book ai didi

c# - .NET 程序集依赖项

转载 作者:太空狗 更新时间:2023-10-29 21:37:00 26 4
gpt4 key购买 nike

也许我在这里遗漏了一些明显的东西但是......

我构建了一个可重用的通用 C# 类库项目 say (A.dll),它引用了其他 3 个程序集 say(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 abcd 合并到 abcd.dll 。它还会合并调试符号,但不会合并 XML 文档。

此外,您还必须在新项目中引用 dll 本身,而不是各自的项目。一个异常(exception)是,如果您将库合并到可执行文件中,在这种情况下,您可以引用相应的库/项目,因为它们将与可执行文件一起加载。

Mono 项目也有一个工具,叫做 mkbundle。

也可用 ILRepack ,旨在与 ILMerge 兼容,但它是 FLOSS。

关于c# - .NET 程序集依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2265330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com