可能重复:
在编译的可执行文件中嵌入 DLL
我想用 C# 制作一个独立的程序,我有一个引用的 dll,所以我不能只从 bin/release/.exe 复制 exe,我必须复制 exe 和 dll。
我希望用户能够下载和运行 exe,而不是 exe 和 dll。独立我的意思是只有exe,没有安装程序。
可能重复:
在编译的可执行文件中嵌入 DLL
我想用 C# 制作一个独立的程序,我有一个引用的 dll,所以我不能只从 bin/release/.exe 复制 exe,我必须复制 exe 和 dll。
我希望用户能够下载和运行 exe,而不是 exe 和 dll。独立我的意思是只有exe,没有安装程序。
ILMerge 是一个用于将多个 .NET 程序集合并到一个 .NET 程序集的实用程序。它适用于可执行文件和 DLL,并带有几个用于控制输出处理和格式的选项。有关详细信息,请参阅随附的文档。
或者,查看其他部署选项,例如ClickOnce:
ClickOnce 是一项 Microsoft 技术,使用户能够通过单击网页中的链接来安装和运行 Windows 应用程序。(此类应用程序称为智能客户端。) ClickOnce 是 Microsoft .NET Framework 2.0 及更高版本的组件,支持部署使用 Windows 窗体或 Windows Presentation Foundation 制作的应用程序。
第三种选择是创建安装程序 - 使用安装项目或第三方安装程序(有很多)。
将您的 dll 作为资源嵌入到您的可执行文件中,
附加到AppDomain.CurrentDomain.AssemblyResolve
事件,
并从资源中读取您的 dll 并在事件中返回它。