【问题标题】:C#'s equivalent of jar files?C# 相当于 jar 文件?
【发布时间】:2010-07-30 12:45:01
【问题描述】:

Java 提供了jar 文件,以便所有的class 文件和jar 文件合并到一个文件中。 C# 是否提供等效/相似的功能?

【问题讨论】:

  • 我喜欢您提供的 jar 文件的递归定义:Jar 文件 - 用于将 jar 文件合并为一个文件的文件。

标签: c# java deployment jar


【解决方案1】:

.NET 编译成 dll 或 exe。您可以使用ILMerge 将多个 dll/exe 合并为一个。

【讨论】:

【解决方案2】:

.NET 程序集不就是为了这个吗?

请记住,您可以在其中包含资源等。

此外,可以使用 ILMerge 组合程序集,对于更复杂的场景,您可能最好使用 ClickOnce 或 MSI 部署。

对于 silverlight,有 XAP 包,但我假设您说的是桌面 .NET。

【讨论】:

    【解决方案3】:

    它被称为“组装”。

    http://en.wikipedia.org/wiki/.NET_assembly

    【讨论】:

      【解决方案4】:

      C# 中的 jar 等效项(基本上在任何 .Net 语言中)是 dll(用于类库)和 exe(用于可执行文件)或集体程序集。但是一个程序集不能包含 dll 或 exe 形式的另一个程序集。但是 ILMerge 确实合并了两个程序集,但不会像 jar 文件那样将一个程序集包含在另一个程序集中。

      但是您可能会感兴趣的 codeproject (http://www.codeproject.com/KB/install/NARLoader.aspx) 中发布的项目。它使用 .net 程序集执行 jar 文件之类的操作。

      【讨论】:

        【解决方案5】:

        并非如此,C# 适用于 .dll 和 .lib。如果您不将所有内容(所有源代码)放在同一个项目中,您将无法实现您可能想要做的事情。

        但是使用ILMerge,如果您不想拥有包含所有所需文件的设置或压缩文件,则可以将所有内容合并到一个可执行文件中以便于分发。..

        【讨论】:

          【解决方案6】:

          是的,C# 提供了dll

          Dynamic-Link Libraries

          【讨论】:

          • 更准确地说:程序集可以是 DLL 或 EXE 文件。
          【解决方案7】:

          不,AFAIK 程序集不能包含引用的程序集。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-04-21
            • 1970-01-01
            • 2011-01-04
            • 2012-09-30
            • 1970-01-01
            • 2015-12-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多