dotnet core 使用 CoreRT 将程序编译为 Native 程序

栏目: C++ · 发布时间: 5年前

内容简介:现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升使用 CoreRT 发布的优点:不足是软件不是非常稳定,同时只能支持x64的程序

现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升

使用 CoreRT 发布的优点:

  1. 只有一个 exe 文件,是绿色没有依赖

  2. 发布的文件的大小很小,对比 dotnet core 的独立发布 50M 的大小会小很多

  3. 能在大多数的系统运行

  4. 提高很多启动性能

不足是软件不是非常稳定,同时只能支持x64的程序

使用这个项目是比较难的,本文下面提供的包的版本,请大家按照我的安装的版本使用,因为新的版本可能有一些修改,同时没有更新文档,如果是第一次使用,可能会遇到很多坑。

首先打开 VisualStudio 2017 安装 C++ 依赖,虽然现在已经有了 VisualStudio 2019 了,但是 C++ 的依赖是需要和 VS 的版本关系,所以这里暂时不能使用 VisualStudio 2019 安装

点击 Nuget 源设置,在 VisualStudio 的工具->选项->nuget包管理器->nuget包源里面添加 myget 的使用,这个网站是微软的 CI 输出的,里面大量的库都是没有发布的,所以微软也无法保证这些库稳定

添加一个新的源,路径是 https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

通过 VisualStudio 2017 创建一个新的控制台项目,或者通过命令行使用 dotnet 命令行创建一个新的控制台项目

然后在项目里面添加 Microsoft.DotNet.ILCompiler 的引用,这里添加的版本是 1.0.0-alpha-* 版本

<ItemGroup>
        <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="1.0.0-alpha-*" />
    </ItemGroup>

也就是在 1.0.0 的任意版本都会被添加,我实际使用的是 1.0.0-alpha-27401-01 版本

现在尝试写一个 Hellow 程序,使用命令行发布,注意创建的项目的 dotnet core sdk 版本暂时需要是 2.0 的版本

dotnet publish -r win-x64 -c release

注意暂时只能发布 x64 的程序,对 x86 暂时没有支持

现在可以发现发布的文件夹里面有 native 文件夹,里面就只包含一个 exe 程序,同时这个文件也非常小

代码请看 https://github.com/dotnet/corert/tree/master/samples/HelloWorld

更详细的博客请看 使用CoreRT将.NET Core发布为Native应用程序 - KAnts - 博客园

简析 .NET Core 构成体系 - 帅虫哥 - 博客园


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码本色:用编程模拟自然系统

代码本色:用编程模拟自然系统

Daniel Shiffman / 周晗彬 / 人民邮电出版社 / 2014-10 / 99.00元

本书介绍了用计算机模拟自然系统涉及的编程策略与技术,涵盖了基本的数学和物理概念,以及可视化地展示模拟结果所需的高级算法。读者将从构建基本的物理引擎开始,一步一步地学习如何创建智能移动的物体和复杂的系统,为进一步探索生成设计奠定基础。相关的知识点包括力、三角、分形、细胞自动机、自组织和遗传算法。本书的示例使用基于Java的开源语言及开发环境Processing编写。本书网站http://www.na......一起来看看 《代码本色:用编程模拟自然系统》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具