將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);
                }
            };

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章