三种方法,让WPF项目生成单文件
2021-01-16 21:13
标签:detail 功能 exe 加载 pyc gas ring reac obj
在使用WPF写一些小工具时,往往需要将多个DLL文件嵌入到EXE文件里,生成单文件。这里介绍三种方案: 第一步,在项目中新建 其中 最后重新生成项目,删除生成目录下的dll文件即可。 Costura.Fody可以把引用的库文件嵌入为资源,使用起来非常简单,直接安装Costura.Fody即可: 举一个简单例子: 生成结果如下: .NET Reactor是一款.NET代码加密混淆工具,同时具有扫描依赖,并嵌入程序集的功能。 总的来说,上面三种方式都可以嵌入dll资源,生成单文件。Costura.Fody和.NET Reactor使用起来方便,改动最小。如果还有加密需求,那就推荐使用.NET Reactor。 版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 三种方法,让WPF项目生成单文件 标签:detail 功能 exe 加载 pyc gas ring reac obj 原文地址:https://www.cnblogs.com/lonelyxmas/p/12208816.html
一、把DLL文件转换为嵌入资源
Resources
文件夹,把需要的dll文件拷贝到该目录中(可以是多个dll文件),然后修改每个文件的属性,将生成操作改为嵌入的资源,例如:
第二步,修改App.xaml.cs
文件,添加程序集解析失败事件,并加载指定的嵌入资源。修改后内容为:
dlls
数组内容为Resources
目录下去掉后缀的文件名。比如Resources
目录下有Newtonsoft.Json.dll
、MaterialDesignThemes.Wpf.dll
和MaterialDesignColors.dll
,则dlls
数组内容为readonly string[] dlls = new string[] { "Newtonsoft.Json" , "MaterialDesignThemes.Wpf" , "MaterialDesignColors"};
二、使用Costura.Fody
PM> Install-Package Costura.Fody
PM> Install-Package Newtonsoft.Json
三、使用 .NET Reactor
具体使用步骤:
原文链接:https://www.jianshu.com/p/72534a7e2f4a