C#项目将dll打包进exe中

本文介绍如何将依赖的dll库文件CryptEnDe.dll和ICSharpCode.SharpZipLib.dll打包进C#的exe程序中,使得编译后的exe能独立运行。通过将dll作为资源文件添加到项目,编写代码动态加载dll,最终实现单个exe文件的部署。
摘要由CSDN通过智能技术生成

有时为了方便起见,我们想将一个调用了外部dll库的exe程序能够独立运行,那我们该如何处理呢?下面是我个人在工作中遇到的一个类似的例子:

意图:

想将项目用到的两个dll库文件(CryptEnDe.dll和ICSharpCode.SharpZipLib.dll)一同编译进exe中,并编译后仅一个exe程序就可以独立运行不再需要其它文件。

实现:

1、将两个dll库文件作为资源文件添加进项目中;

2、添加功能代码

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.IO;


namespace AutoUpdateServer.Core
{
    /// <summary> 载入资源中的动态链接库(dll)文件
    /// </summary>
    static class LoadResourceDll
    {
        static Dictionary<string, Assembly> Dlls = new Dictionary<string, Assembly>();
        static Dictionary<string, object> Assemblies = new Dictionary<string, object>();


        static Assembly AssemblyResolve(object sender, ResolveEventArgs args)
        {
            //程序集
            Assemb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值