c# - 如何将多个程序集合并为一个程序集?

标签 c# assemblies exe ilmerge servicestack

我使用 EXE 项目(Azure 应用程序的启动任务)使用我的服务堆栈,因为我已将以下服务堆栈的 DLL 和一些 Azure 的 DLL 复制到 EXE 项目中。

dlls

当我构建这个 EXE 项目时,Azure DLL 将与我的 EXE 捆绑在一起,但服务堆栈的 DLL 不会与 EXE 捆绑在一起,因为要在任何机器上运行我的 EXE,我需要手动复制所有服务堆栈的 DLL。

这个服务栈的dll我已经用过了

JsonServiceClient client = new JsonServiceClient(servicepath);

我应该怎么做才能将所有这些 DLL 捆绑到我的 EXE 中?

最佳答案

您有多种选择:

  • 使用像SmartAssembly这样的工具(商业)
    它可以嵌入和合并其他东西(无需更改您的源代码)

  • code that yourself in less than 10 lines (免费但最小的源代码更改)
    将所有需要的依赖项标记为“嵌入式资源”——这样它们就包含在 EXE 文件中……你需要设置一个 AssemblyResolve在运行时从资源中读取并将所需的 DLL 返回给 .NET 运行时的处理程序...

关于c# - 如何将多个程序集合并为一个程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8077570/

相关文章:

c# - 为什么 GDI+ 会截断缩放后的图像?

c# - 任何人看到这个错误 : Could not load file or assembly 'System.EnterpriseServices.Wrapper.dll' ?

.net - 如何从 GAC 中提取程序集?

c# - Wix - 如何在安装后从安装目录运行 exe 文件?

Java applet 作为独立的 Windows 应用程序?

php - 如何将PHP文件打包成exe?

c# - 必须在 (MVC3 + MVC4) 环境中打开 ASP.NET MVC3 项目

c# - Rebus 停止从 RabbitMQ 检索消息

c# - 通过 Entity Framework 抛出错误将数据插入数据库

c# - 如何将多个dll包装在一个dll中