1

程序集可以包含 exe 吗?

我有一个程序可以生成 exe,但也使用我创建的 .dll。是多文件程序集吗?

编辑:

那么我读到的关于 .NET 中的多文件汇编的内容是什么?那些可以包含 .exe 和 .dll 吗?

4

4 回答 4

6

不,如果您有一个 .exe 文件和一个 .dll,那么它们是两个独立的程序集。

如果您只想拥有一个文件,可以尝试使用 ILMerge(直接下载NuGet)将两者结合起来。

于 2013-02-27T20:13:29.317 回答
1

这篇 SO 帖子single-file assembly描述了 a和 a之间的区别multi-file assembly。这是该帖子中的一个片段,用于回答您更新的问题:

问题:

What is this I read about multi-file assemblies in .NET?

回答:

使用命令行编译器,您可以将程序集拆分为多个部分 - 其中单个程序集的清单包含查找属于程序集的信息所需的信息,但存储在单独的文件中。例如,您可以在其自己的文件中保留一个大型资源的资源图像(即:.bmp),这样就不必为了打开程序集而加载它。Visual Studio 不支持创建多文件程序集,但它们看起来像 DLL 或 EXE,加上零个或多个 netmodule 文件,加上零个或多个资源文件(可以是任何东西)。主 DLL 或 EXE 包含指定其他文件所在位置的清单。构建它所需的步骤在如何:构建多文件程序集中有详细说明。

于 2013-02-27T21:50:40.200 回答
1

按照 Jon Skeet 的建议使用 ILMerge:

ilmerge.exe /target:winexe /out:bothassemblies.exe assembly1.exe assembly2.dll
于 2013-02-27T20:15:34.987 回答
0

您可以使用工具 ILMerge 将程序集和 exe 文件合并为一个可执行文件。

看看这个

于 2013-02-27T20:14:43.233 回答