.net在.net生态系统中的作用让我感到困惑。我听说它只适用于通用windows应用程序,但也听说它是CoreFX的一部分。我认为可以选择编译为.net本机可以有许多优点(包括性能)。
能否将我的asp.net应用程序(特别是asp.net 5)编译成.net本机?
发布于 2015-07-21 18:25:23
不,你不能。目前,.NET本机并不适用于ASP.NET,我相信它只适用于通用Windows应用程序。这并不意味着总有一天它将不可用,但现在还没有计划好。
参见相关GitHub问题,ASP.NET团队确认了这一点。
编辑11/27/2015
自从这篇文章发布以来,微软已经发布了更多关于.NET本机和.NET核心的声明。我建议你看看在Microsoft 2015活动中的主题演讲。在这段节选视频的11:22分钟,Scott显示了将一个.NET应用程序编译成本地代码,然后运行它。他说这是“未来的工作”,所以它似乎还没有完全准备好(我相信活动中的一个Q&A视频解释说,它在GitHub的一个开发分支中,但我现在太懒了,不想为你重新观看所有的视频)。目前还不清楚这是否只适用于控制台应用程序,或者它是否会运行ASP.NET。
发布于 2016-06-30 21:53:06
正如托马斯在评论中所说,一旦LLILC发布,这应该是可能的。它的目标是.NET核心,这正是ASP.NET 5所依赖的。我不确定由此产生的运行时是否可以称为.NET本地运行时,但是LLILC确实有计划提前本地编译IL (例如,Roslyn的输出)。
另一个选择是使用ASP.NET作为AOT编译器在CoreRT上运行RyuJIT。这看起来比LLILC更接近现实。在编译ASP.NET项目时,已经看到了一些在CoreRT上进行的实验,但是没有任何实际工作。
.NET本机利用UTC编译器在某些C++运行时上编译运行(MRT --即最小运行时或托管运行时,不能记住,也称为本机运行时)。目前,.NET本地UWP应用程序是windows专用的。虽然.NET本机和UWP是在.NET核心下发布的,但这可能会产生误导,因为只有在调试模式下,UWP目标是CoreCLR,而在发布模式中,它是针对特定于.NET的本地运行时的。LLILC/CoreRT应该改变这一点。
https://stackoverflow.com/questions/31546044
复制相似问题