我们正在使用C#和Xamarin开发跨平台应用程序。我们更感兴趣的是使用完整的基于Microsoft的解决方案来开发我们的通用应用程序。 .Net Native能解决这个问题吗?
谢谢,拉维
答案 0 :(得分:5)
这里有一些困惑。
.Net Native是关于生成一个可在目标真实机器上本机执行的文件 - 例如Intel CPU。构成该可执行文件中的.Net VM的所有位都打包到其中并进行本机编译。
但是,所有能够帮助您运行本机代码的能力。
其次是如何与正在运行的机器的操作系统和用户环境进行交互。在底部某些必须实现,例如Socket
类。在Windows上,Microsoft .Net框架使用Win32来实现Socket类。在Linux / Mac / * BSD上,在Mono等中实现的.Net框架使用操作系统提供的posix套接字API。
如何在Windows中绘制屏幕? GDI,GDI +,Direct2d等。
如何在Linux /中绘制到屏幕? X Windows。在OS X?石英。任何数量的.Net编译器魔法都不会自动为你起作用。
.Net Native使您可以拥有静态链接的可执行文件。但是您仍然需要为正在运行的平台实现.Net框架。这就是Mono,Xamarin等人介入的地方。