由于.net程序没有静态链接,一直缺乏单文件部署这种干净的发布方案.对客户端程序发布并不是很友好.在之前的.net framework下,有ILMerge合并程序集,以及LibZ的嵌入资源文件等第三方的解决方案.在.net core 3中,官方提供了一个单文件部署方案,不过这种方式是生成一个自解压程序,运行时将程序集解压到临时目录中,然后再运行程序.严格意义上是一个伪单文件方案,有的地方也有一些坑. 在.Net 5中,对单文件部署进行了进一步增强,可以直接运行代码,而无需从应用中提取文件.本文在