NETCORE3.0开始,可以发布单文件,参考https://www.cnblogs.com/ZaraNet/p/11790645.html

发布后(config目录 是手工复制进去的)

DotnetCore 单文件发布-LMLPHP

 

运行时,先解压释放至临时目录

DotnetCore 单文件发布-LMLPHP

 

执行路径

DotnetCore 单文件发布-LMLPHP

 

杜绝一切外部config的可能了

简单的反编译(知道原理,直接上临时文件夹中去找解压后的文件即可)

DotnetCore 单文件发布-LMLPHP

 

DotnetCore 单文件发布-LMLPHP

 

关于ReadyToRun的描述,参考https://lindexi.oschina.io/post/WPF-%E9%80%9A%E8%BF%87-ReadyToRun-%E6%8F%90%E5%8D%87%E6%80%A7%E8%83%BD.html

以及 https://my.oschina.net/u/3820994/blog/3062949

 

通过 ReadyToRun 可以在程序集同时包含 IL 和本机代码,可以有效提升软件的启动速度

在 .NET Core 3.0 Preview 6 发布了 ReadyToRun 的功能,通过这个功能可以提升软件的启动性能,在程序设置在发布的时候使用 ReadyToRun 的特性,将会编译出来 ReadyToRun(R2R)格式的程序集

在这个程序集里面同时包含了 IL 和本机代码,可以做到在启动的时间减少 JIT 编译的时间,减少的这部分启动时间是 JIT 编译代码使用的时间

 

 

 

 

04-19 15:23