我使用 EXE 项目(Azure 应用程序的启动任务)使用我的服务堆栈,因为我已将以下服务堆栈的 DLL 和一些 Azure 的 DLL 复制到 EXE 项目中。
当我构建这个 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/