将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 @ 2023-01-05 16:50  一年变大牛  阅读(1634)  评论(0编辑  收藏  举报