sqlserver执行生成rpt文件怎么回事_从.NET Core 3.1项目生成本地可执行文件

925df61e1197f96bc7824d9e6529f29c.gif 1293ecd4e69c97baaa1d65ad8328e5ad.png 差一点

我们就擦肩而过了

有趣

有用

有态度

目录

简介:托管代码的编译?

工作原理:原理

应用领域

样例程序

1.检查Visual Studio安装的组件

2.添加具有ILCompiler的NuGet存储库

3.将依赖项添加到您的项目中

4.为您的应用程序编码

5.生成程序的本地可执行文件

结论


在本文中,我们将看到一个使用.NET Core 3的示例程序。我们将回顾开发人员为生成其应用程序的本地可执行文件而必须遵循的过程。我们将看一下如何检查Visual Studio已安装的组件,添加具有ILCompiler的NuGet存储库,将依赖项添加到您的项目,编写应用程序并生成程序的本地可执行文件。

ff778ed68c92e9c7c83b1635fe46098f.png

f97f1be6af6c32194a58c9ff1529b7d9.png

简介:托管代码的编译?

该功能未集成在SDK中,但为C#开发人员提供了一种从.NET Core 3原始.csproj生成机器可执行文件的惊人方法。从我的观点来看,这是您要以专业方式分发软件(这是一种方式:)的关键点。

借助此工具,.NET Core 3与并发(Python,Node,Java)的性能匹配,从而提高了性能增强的应用程序的开发(最后,C#几乎达到了C ++性能级别)。

f97f1be6af6c32194a58c9ff1529b7d9.png

工作原理

.NET Core运行时用于生成托管项目的AOT(提前)图像。为了构建该代码,伪编译器将MSIL程序转换为C ++代码,并编译结果以生成应用程序的本地可执行文件(这就是无论您使用哪种OS都需要C ++工具的原因)。它的主要开发人员之一(Microsoft的伙计)Matt Warren 已很好地记录了此完整过程。

为了恢复,编译器生成一个真正的本地可执行文件,而IL程序集在运行时由JIT(Just In Time编译器)编译成本地代码。

f97f1be6af6c32194a58c9ff1529b7d9.png

应用领域

通过使用本地可执行文件提供的明显好处是可笑的性能改进,缺少安装框架。

最适合使用本地格式的程序主要是台式机应用程序(服务,控制台或GUI),因为对于这种类型的应用程序,本地计算的收益非常明显。

另一方面,对于Web应用程序(Web应用程序和API),由于使用的部署类型不同,收益并不那么明显。在Web服务器环境中,大多数情况下,该框架已安装在计算机上,使用本地可执行文件的方式不那么明显。

f97f1be6af6c32194a58c9ff1529b7d9.png

样例程序

该示例程序使用.NET Core3。让我们回顾一下开发人员为制作其应用程序的本地可执行文件而必须遵循的过程。

1

检查Visual Studio安装的组件

ILCompiler添加到必需的.NET Core 3框架(以及使用该框架进行开发所需的所有组件)后,需要设置C ++桌面功能。

这是您必须在Visual Studio上安装的C ++功能:

0dbcc9fde083da71294a74553975c5cb.png

2

添加具有ILCompiler的NuGet存储库

专用的NuGet存储库包含将程序编译为真正的本地可执行文件所需的Microsoft.Dotnet.ILCompiler依赖关系。该存储库URL为:https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json。

您必须将其添加到NuGet源存储库中,如果使用Visual Studio,则必须按照下面的图片1所述添加它。

4a3b3c70960f8bb48ac24ccecc6aab2c.png

3

将依赖项添加到您的项目中

您可以通过如图2所示在可用软件包列表中选择Microsoft.Dotnet.ILCompiler来添加。不要忘记选中“包括预发行版本”框(因为该软件包仍标有“alpha”版本)。

a6614b9a6f51ad22e5c81e0e22928fe2.png

4

为您的应用程序编码

示例控制台应用程序执行阶乘计算,并显示每个等级(计算的每个步骤),并以红色显示最终结果(groovy!)。

这是源代码:

680d5436a49ff9eb582637a6a8705193.png

5

生成程序的本地可执行文件

一旦对项目进行调试和测试,您现在就希望生成应用程序的本地可执行文件。所述.csproj文件具有以包括用于本地可执行的生成目标平台,运行时标识符(RID)。

c0ff10295a65a3a1070d9312e1e6bfc5.png

如果使用Visual Studio 2019,则可以使用“发布”命令(项目项上的上下文菜单)来生成本地可执行文件,如图↓所示。

b2e2b357d26cd408d41038e822a4ee3d.png

如果您更喜欢命令行,也可以使用CLI命令“dotnet publish”。

f97f1be6af6c32194a58c9ff1529b7d9.png

结论

生成本地可执行文件是.NET Core 3的显着优势,您将受益于C#的高生产率,其性能几乎与使用经典C ++所能达到的性能一样好。

如本文所述,该ILCompiler库可以在Windows上使用,但在Linux和Mac OS X上也可以使用。

9d435625865d1caea41063fdcd86385a.gif 6a6ac927799546294f15be758a6f723d.gif 589a6c08388e36ffb6bb0e3133ef181c.gif 

END

3e5f7f21493bd8c854abe1cb9e1675f2.gif

● WinForm通用自动更新AutoUpdater项目实战

● 上位机开发之西门子PLC-S7通信实践 

● 基于GDI+技术开发工业仪表盘控件

● 上位机C#通过OPCUA和西门子PLC通信

● 基于S7-PLCSIM Advanced搭建S7通信仿真环境

● 基于C#实现本地数据上传至云服务器

● OPCUA+MQTT构建物联网通用框架

● 上位机开发之三菱Q系列PLC通信实践

● 深度剖析西门子PLC的开放式TCP通信

● 上位机开发之单片机通信实践

f7977b9baebf5f29e9a7a09d616d5d29.png

喜欢就点个赞吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值