目录
简介:托管代码的编译?
工作原理:原理
应用领域
样例程序
1.检查Visual Studio安装的组件
2.添加具有ILCompiler的NuGet存储库
3.将依赖项添加到您的项目中
4.为您的应用程序编码
5.生成程序的本地可执行文件
结论
在本文中,我们将看到一个使用.NET Core 3的示例程序。我们将回顾开发人员为生成其应用程序的本地可执行文件而必须遵循的过程。我们将看一下如何检查Visual Studio已安装的组件,添加具有ILCompiler的NuGet存储库,将依赖项添加到您的项目,编写应用程序并生成程序的本地可执行文件。
- 下载源文件-1.3 KB
该功能未集成在SDK中,但为C#开发人员提供了一种从.NET Core 3原始.csproj生成机器可执行文件的惊人方法。从我的观点来看,这是您要以专业方式分发软件(这是一种方式:)的关键点。我在一本出色的书中发现了此功能(我不忘提供源代码以供参考):使用.NET Core 3和Visual Studio 2019开发多平台桌面应用程序。
借助此工具,.NET Core 3与并发(Python,Node,Java)的性能匹配,从而提高了性能增强的应用程序的开发(最后,C#几乎达到了C ++性能级别)。
工作原理:原理.NET Core运行时用于生成托管项目的AOT(提前)图像。为了构建该代码,伪编译器将MSIL程序转换为C ++代码,并编译结果以生成应用程序的本地可执行文件(这就是无论您使用哪种OS都需要C ++工具的原因)。它的主要开发人员之一(Microsoft的伙计)Matt Warren 已很好地记录了此完整过程。
为了恢复,编译器生成一个真正的本地可执行文件,而IL程序集在运行时由JIT(Just In Time编译器)编译成本地代码。
应用领域通过使用本地可执行文件提供的明显好处是可笑的性能改进,缺少安装框架。
最适合使用本地格式的程序主要是台式机应用程序(服务,控制台或GUI),因为对于这种类型的应用程序,本地计算的收益非常明显。
另一方面,对于Web应用程序(Web应用程序和API),由于使用的部署类型不同,收益并不那么明显。在Web服务器环境中,大多数情况下,该框架已安装在计算机上,使用本地可执行文件的方式不那么明显。
样例程序该示例程序使用.NET Core3。让我们回顾一下开发人员为制作其应用程序的本地可执行文件而必须遵循的过程。
1.检查Visual Studio安装的组件ILCompiler添加到必需的.NET Core 3框架(以及使用该框架进行开发所需的所有组件)后,需要设置C ++桌面功能。
这是您必须在Visual Studio上安装的C ++功能:
专用的NuGet存储库包含将程序编译为真正的本地可执行文件所需的Microsoft.Dotnet.ILCompiler依赖关系。该存储库URL为:https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json。
您必须将其添加到NuGet源存储库中,如果使用Visual Studio,则必须按照下面的图片1所述添加它。
图片1
3.将依赖项添加到您的项目中您可以通过如图2所示在可用软件包列表中选择Microsoft.Dotnet.ILCompiler来添加。不要忘记选中“包括预发行版本”框(因为该软件包仍标有“alpha”版本)。
图片2
4.为您的应用程序编码示例控制台应用程序执行阶乘计算,并显示每个等级(计算的每个步骤),并以红色显示最终结果(groovy!)。
这是源代码:
using System;
namespace Net3Factorial
{
class Program
{
static long Factorial(int x)
{
long result = 1;
Console.ForegroundColor = ConsoleColor.Blue;
for (int i = 1; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录