在C#开发时我们常常会调用外部dll,生成的程序必须和dll放一起。不过有些时候需要生成单文件程序,这时就要把dll嵌入exe了。
可以自己写代码实现,不过有一个更简单的方法就是安装一个名为Costura.Fody
的外部包即可。
在项目右边引用点右键-管理NuGet程序包:
网络异常,图片无法展示
|
在浏览里面搜索Costura.Fody
:
网络异常,图片无法展示
|
这里需要提醒一下安装的版本问题:
- 如果你的程序是用 .NET Framework 开发的,那么需要安装其4.1.0及其以下版本
- 如果你的程序是用 .NET Core 或者 .NET 5 开发的,那么可以安装其5.0.2及其以上版本
安装完成,它会自动引用:
网络异常,图片无法展示
|
然后运行程序,你会发现虽然dll还是复制到了生成目录,但是你把exe单独拎出来仍然可以正常运行。