【发布时间】:2010-07-30 12:45:01
【问题描述】:
Java 提供了jar 文件,以便所有的class 文件和jar 文件合并到一个文件中。 C# 是否提供等效/相似的功能?
【问题讨论】:
-
我喜欢您提供的 jar 文件的递归定义:Jar 文件 - 用于将 jar 文件合并为一个文件的文件。
标签: c# java deployment jar
Java 提供了jar 文件,以便所有的class 文件和jar 文件合并到一个文件中。 C# 是否提供等效/相似的功能?
【问题讨论】:
标签: c# java deployment jar
.NET 编译成 dll 或 exe。您可以使用ILMerge 将多个 dll/exe 合并为一个。
【讨论】:
.NET 程序集不就是为了这个吗?
请记住,您可以在其中包含资源等。
此外,可以使用 ILMerge 组合程序集,对于更复杂的场景,您可能最好使用 ClickOnce 或 MSI 部署。
对于 silverlight,有 XAP 包,但我假设您说的是桌面 .NET。
【讨论】:
【讨论】:
C# 中的 jar 等效项(基本上在任何 .Net 语言中)是 dll(用于类库)和 exe(用于可执行文件)或集体程序集。但是一个程序集不能包含 dll 或 exe 形式的另一个程序集。但是 ILMerge 确实合并了两个程序集,但不会像 jar 文件那样将一个程序集包含在另一个程序集中。
但是您可能会感兴趣的 codeproject (http://www.codeproject.com/KB/install/NARLoader.aspx) 中发布的项目。它使用 .net 程序集执行 jar 文件之类的操作。
【讨论】:
并非如此,C# 适用于 .dll 和 .lib。如果您不将所有内容(所有源代码)放在同一个项目中,您将无法实现您可能想要做的事情。
但是使用ILMerge,如果您不想拥有包含所有所需文件的设置或压缩文件,则可以将所有内容合并到一个可执行文件中以便于分发。..
【讨论】:
是的,C# 提供了dll
【讨论】:
不,AFAIK 程序集不能包含引用的程序集。
【讨论】: