【问题标题】:Compiling one C# Project into another将一个 C# 项目编译成另一个
【发布时间】:2009-08-06 13:54:02
【问题描述】:

我有一个使用其他程序集的 C# 应用程序,所以当我编译时,我最终得到了我的 .exe 和 2 或 3 个其他 .dll 文件。理想情况下,我只想要 1 个 .exe 文件。目前我为此使用 ILMerge,但由于我使用的程序集是开源的(并且在相同的许可下),我想知道是否有一种简单的方法可以将它们添加到我的解决方案中并将它们编译到 .exe 中?

想要什么:

  • 在我的主 .exe 中创建一个子文件夹并将所有其他文件复制到其中
  • 将其添加为单独的解决方案,然后使用“添加为链接”将其添加到我的 .exe 项目中

我认为 ILMerge 或多或少完全符合我的要求,但如果我已经可以在编译器级别应用合并,那将是我想要的。

不用说,引用的程序集没有 main() 函数,因此不会发生冲突。

【问题讨论】:

  • 我实际上不明白将 ILMerge 作为构建后步骤有什么问题。我也是这样做的,它可以无缝运行,没有任何问题。

标签: c# .net visual-studio visual-studio-2008


【解决方案1】:

您可以将依赖项添加为嵌入式资源,然后手动添加load them,但这需要更改代码,因此并不理想。

我认为 ILMerge 是您最好的选择。

【讨论】:

    【解决方案2】:

    由于我从未尝试过,我不知道这是否会起作用和/或满足您的期望,但是,理论上可以选择将 .net 代码编译为 netmodule,而不是程序集,然后再编译那些模块,可以添加到其他程序集中,您可以阅读它herehere

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 2023-03-28
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 2012-12-13
      • 1970-01-01
      相关资源
      最近更新 更多