将EXE程序所需的DLL文件打包进EXE程序中

        这个程序是用来把excel文件打开,按照某种规则替换excel中的特定内容,然后保存关闭。

1、当程序写好以后,debug中有文件

 

 2、

(1)其中【zh-CHS】是个空文件。

(2)【stdole.dll】经查没什么作用。
(3)【.pdb】也没啥用。

3、我希望实现的效果是exe文件把dll包进去,变成单文件exe

4、开始

第一步:复制dll文件,粘贴进解决方案

 

 第二步:修改文件属性

 

 第三步(选做):取消掉原来引用中对于这个dll的复制

第四步:在Program程序中,添加一段,将程序在最早期时就加载进内存。,注意修改一下资源名即可

 

 

复制代码
            AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
            {
                String resourceName = "Microsoft.Office.Interop.Excel." +
                new AssemblyName(args.Name).Name + ".dll";
                using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
                {
                    Byte[] assemblyData = new Byte[stream.Length];
                    stream.Read(assemblyData, 0, assemblyData.Length);
                    return Assembly.Load(assemblyData);
                }
            };
复制代码

 

posted @   一年变大牛  阅读(2110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-01-05 CentOS只有GNOME桌面,没有GNOME经典桌面
2020-01-05 gridcontrol 用list 赋值,只显示list对象名
点击右上角即可分享
微信分享提示