栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

找不到此项目类型所基于的应用程序

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

找不到此项目类型所基于的应用程序

差一点

我们就擦肩而过了

有趣

有用

有态度

目录

简介:托管代码的编译?

工作原理:原理

应用领域

样例程序

1.检查Visual Studio安装的组件

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

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

4.为您的应用程序编码

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

结论


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

简介:托管代码的编译?

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

借助此工具,.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 ++功能:

2

添加具有ILCompiler的NuGet存储库

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

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

3

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

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

4

为您的应用程序编码

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

这是源代码:

5

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

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

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

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

结论

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

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

   

END

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

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

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

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

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

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

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

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

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

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

喜欢就点个赞吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号