[VS]dll嵌入exe

来源:互联网 发布:农产品网络销售数据 编辑:程序博客网 时间:2024/05/29 15:43

方法一:

 

1.在项目目录下新建Resources文件夹,并将dll放入其中:


2.在项目资源中嵌入该dll

 

3.在项目目录中选中该dll,在其属性中的“生成操作” 选择 “嵌入的资源”:

 

4.在窗口方法中以及上边添加以下代码:

        Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)        {            string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");            dllName = dllName.Replace(".", "_");            if (dllName.EndsWith("_resources")) return null;            System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", Assembly.GetExecutingAssembly());            byte[] bytes = (byte[])rm.GetObject(dllName);            return Assembly.Load(bytes);        }        public Form1()        {            AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);            InitializeComponent();        }

方法二:

 

1.VS中,通过Nuget搜索安装Costura.Fody。

 

2.重新生成项目,需要的dll就自动的集成到了exe里。

0 0
原创粉丝点击