1

可能重复:
在编译的可执行文件中嵌入 DLL

我想用 C# 制作一个独立的程序,我有一个引用的 dll,所以我不能只从 bin/release/.exe 复制 exe,我必须复制 exe 和 dll。

我希望用户能够下载和运行 exe,而不是 exe 和 dll。独立我的意思是只有exe,没有安装程序。

4

2 回答 2

3

看看ILMERGE(并下载):

ILMerge 是一个用于将多个 .NET 程序集合并到一个 .NET 程序集的实用程序。它适用于可执行文件和 DLL,并带有几个用于控制输出处理和格式的选项。有关详细信息,请参阅随附的文档。


或者,查看其他部署选项,例如ClickOnce

ClickOnce 是一项 Microsoft 技术,使用户能够通过单击网页中的链接来安装和运行 Windows 应用程序。(此类应用程序称为智能客户端。) ClickOnce 是 Microsoft .NET Framework 2.0 及更高版本的组件,支持部署使用 Windows 窗体或 Windows Presentation Foundation 制作的应用程序。


第三种选择是创建安装程序 - 使用安装项目或第三方安装程序(有很多)。

于 2012-09-01T20:51:01.087 回答
3

将您的 dll 作为资源嵌入到您的可执行文件中,

附加到AppDomain.CurrentDomain.AssemblyResolve事件,

并从资源中读取您的 dll 并在事件中返回它。

于 2012-09-01T20:52:17.297 回答