简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序

我之前一直都被研究如何静态编译,因为源码直接被人反编译真的是非常烦恼的事情,试过很多方式,也换过很多语言,直到我发现了这款基于.net core的开源的跨平台UI库

Ui库官方地址:Avalonia UI

接下来我为大家带来简单的使用教程,如果要使用此功能的话,需要有一定的wpf开发基础

1、首先我们需要安装它的vs扩展Avalonia,如图所示

简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序_第1张图片

2、安装好后重新打开VS。选择创建新项目

简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序_第2张图片 

3、简单了解创建的项目文件 

简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序_第3张图片

 4、然后我们就可以进行跟wpf一样的开发了。

5、重点呢,就是编译和生成这块了。发布这块跟.net core 跨平台发布是基本一致的,选择所需要的平台,进行编译就行了。简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序_第4张图片

 这样呢,基本上的跨平台程序就做好了的。

但是呢,我们还有静态编译的发布方式,就是需要在项目中引用Microsoft.DotNet.ILCompiler

我们可以在包管理器中进行安装。这部分如果没有静态编译的需求的话,就不需要了。因为这部分非常的麻烦,虽然引入了这款aot编译的dll之后,正常生成就行了,但是如果我们使用到了别的第三方类库,那我们就得添加第三方库的rd.xml代码简单介绍.net core 如何实现跨平台和静态编译(写好的程序无法再被直接反编译源码)的桌面应用程序_第5张图片

 像Avalonia这款第三方库,我们需要添加如下rd.xml才可以进行静态编译。


	
		
		

		
		
			
			
			
		
		
		
			
		
		
		

		


		

		
	

在项目根目录中添加这个rd.xml,然后进行正常的发布编译,就行了。这样你发布的代码就是AOT静态编译了

你可能感兴趣的:(wpf,.net,wpf,.netcore,ui,静态编译,跨平台)