管理杂谈OA答疑ERP答疑教程搜索

【C#】将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);

    }

};


更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn