SharpDevelop - 如何使用dll的程序集嵌入,编译exe文件?

时间:2014-06-21 07:23:21

标签: c# compact-framework sharpdevelop windows-embedded-compact

我正在sharpdevelop 3.2中开发一个网络紧凑框架项目。 它工作得很好,但必须有像火鸟网提供商和我使用的其他程序集的dll,当我运行它时在exe文件夹内。 如何将所有这些dll嵌入到exe中,将其嵌入到一个exe文件中,而不需要将它们复制粘贴到我运行exe文件夹的文件夹中?

1 个答案:

答案 0 :(得分:-1)

我最常用于此类事情的方法是将程序集作为资源添加到EXE,然后为AssemblyResolve事件添加处理程序以将程序集从资源解压缩到内存并从那里加载。

使用AssemblyResolve的好处在于,如果需要,您可以使用磁盘上的实际程序集覆盖资源绑定程序集,因为它无法调用AssemblyResolve,直到找不到它为止通过正常方式组装。如果您希望强制它始终加载资源,请改为挂钩AssemblyLoad

您还可以压缩资源以减少膨胀,从而节省总的部署字节数。