.Net 7 Native AOT 单文件 无依赖 跨平台

news2025/1/13 3:09:30

2022.11.18 Native AOT 正式发布,不再是 实验性项目。

.Net 7 Console App & WebApi 使用PublishAOT = true,直接编译 成exe,无rutime依赖,智能裁剪,体积小,启动快。

环境:

1.更新VS2022 到最新版本(支持.net 7)

2.VS2022 安装 使用C++ 桌面开发

 

踩坑:

1.程序里一些 没有应用到的 方法会被裁剪掉,包括泛型注入等。

可以使用 rd.xml 配置来告诉 ILCompiler,那些是需要的

 

 截图是,webapi-serilog 的skins rd.xml配置.

2.遇到 link.exe不是内部或外部命令

这个是安装 C++桌面开发,缺少组件引起的。我这边直接拷贝link.exe到项目目录,解决了编译问题,暂时还没有找到 是什么问题引起的。

可能是注册表:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\Autorun=chcp 65001 引起的,修改为@chcp 65001>nul,就好了

D:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64

Native AOT deployment overview - .NET | Microsoft Learn

Runtime Directives (rd.xml) Configuration File Reference - UWP applications | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安科瑞智能余压监控系统余压控制器ARPM-C 监控余压值/接收报警信息

1、概述 ARPM-C型余压控制器,可监控所连接余压探测器的余压值,接收余压探测器的报警信息,并向余压监控器反馈现场工作状态,当余压过高报警时联动风阀执行器调节泄压阀,能够持续调节泄压阀的开启角度。 2、产品型号 …

Java JUC并发容器之BlockingQueue的多种实现详解

Java JUC并发容器之BlockingQueue的多种实现详解 文章目录Java JUC并发容器之BlockingQueue的多种实现详解BlockingQueueArrayBlockingQueueLinkedBlockingQueueLinkedBlockingQueue和ArrayBlockingQueue的差异PriorityBlockingQueueDelayQueueSynchronousQueueBlockingQueue …

首次公开,GitHub点击破百万的分布式高可用算法小册被我扒下来了

想成为分布式高手?那就先把协议和算法烂熟于心吧!这就不得不提到著名的——《分布式高可用算法》! 目前网上还没有开源版本,今天我就当一次“互联网雷锋” ,免费获取方式我放在文末了 作者介绍 江峰,教授…

用R对Twitter用户的编程语言语义分析

Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。最近我们被客户要求撰写关于Twitter的研究报告,包括一些图形和统计输出。本文是关于如何使用Twitter R包获取twitter数据并将其导入R&…

linux /usr/lib/共享库为何几乎都有链接(像是快捷方式)?

linux 共享库为什么要建立那么多link QT建立的共享库,输出的时候会有三个链接文件,有疑惑为什么要这么多文件呢?是什么规则考虑的? 可能这么做有好处,就是可以随时切换库的版本吧。 Linux下软链接的使用技巧 - 腾讯云…

Nodejs -- Express的安装和定义get、post方法

文章目录Express的基本使用1 安装2 基本使用3 监听GET请求4 监听POST请求5 把内容响应给客户端6 获取URL中携带的查询参数7 获取URL中的动态参数Express的基本使用 1 安装 在项目所处的目录中,运行如下的终端命令,即可将express安装到项目中使用&#…

【问题思考】二重积分积分限上的x和积分内部的x有什么区别?【几何直观】

问题 在做这个积分的时候,产生了一个疑问,就是这个积分中,第一次积分能将x视为常数已经成为一个下意识的动作了,然而,是否能够真的将积分中的x看作常数?而这个积分限上也有一个x,这个积分限上的…

【java|golang】1758. 生成交替二进制字符串的最少操作数

给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如&a…

云边缘网关TG453

5G云边缘网关TG453,广泛应用于工控物联网等场景,具备组网、数据采集、协议解析、无线通信、远程控制能力。全网通5G网络,同时支持边缘计算,满足大接入量数据处理和及时反馈的低延时任务应用。 5G云边缘网关TG453功能 部署在本地现…

Java学习之继承练习题

目录 第一题 代码 输出流程分析 运行结果 考察知识点 第二题 代码 流程分析 运行结果 第三题 题目要求 我的代码 代码改进 第一题 代码 package com.hspedu.extends_.exercise;public class ExtendsExercise01 {public static void main(String[] args) {B b new …

Mybatis Plus 多租户id使用

本文就不多逼逼,直接进入正题。 什么是多租户 多租户技术(Multi-TenancyTechnology)又称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下 (此处的多用户一般是面向企业用…

SpringCloud服务配置介绍Nacos实现管理配置

目录 一、服务配置中心介绍 二、Nacos config入门 三、Nacos config深入 四、Nacos的几个概念 一、服务配置中心介绍 首先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的…

uniapp 智能安装(自动升级)插件 Ba-SmartUpgrade

简介(下载地址) Ba-SmartUpgrade 是一款用于智能安装(自动升级)的插件,无需用户的任何操作就可以自动安装程序。 说明 在app升级更新,覆盖安装时,系统会弹出授权提示弹窗,需要用户…

两种PDF密码都忘记了,怎么办?

PDF文件的两种密码:打开密码、编辑限制 两种密码加密PDF文件后的效果是不一样的: 设置了打开密码的PDF文件,是在打开文件的时候需要输入密码,输入了正确的PDF密码,进入到文件之后,就一些都正常了&#xf…

Pr:编辑字幕

对于添加好的字幕,可在文本面板中的“字幕”选项卡、时间轴面板或节目面板上进行编辑。需要时,可在基本图形面板中改变字幕的样式。“字幕”选项卡中显示了当前活动字幕轨道上的各个字幕分段的编号、时间码范围、文本内容等。单击左下角的“ABC”按钮可改…

Word文档的两种密码忘记了,怎么办?

Word文档的密码也有两种:一种是打开密码,一种是编辑限制 两种密码加密后的效果也是不一样的: 设置了打开密码的Word文档,是在打开文件的时候需要输入密码,保护文件内容不被其他人看到。当我们输入了正确的Word密码&a…

【元胞自动机】元胞自动机短消息网络病毒传播仿真【含Matlab源码 1289期】

⛄一、元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 何顿 康威设计了一个电脑游戏 “生命游戏” 后, 元胞自动机才吸引了科学家们的注意. 1983 年…

第一个maven项目(idea)

配置Maven 确保idea与你要使用的maven版本不冲突,否则使用idea内置即可。 手工创建Java项目 在test目录下,新建resources,如果不是测试资源根,右键将目录标记为: 原型创建Java项目 原型创建Web项目 插件 配置tomcat插…

数据结构与算法之《单链表》详解

标题:单链表的思路及代码实现 作者:Ggggggtm 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 文章目录: 引入 一、链表的概念及结构 1.1 链表的概念 1.2 链表的结构 二、链表的思…

单文件组件:dom高亮插件、在父组件中引入子组件、App.vue代码代码写法

输入<template>等dom为什么会有高亮显示&#xff1f; 下载Vetur插件&#xff1a; 模板会自动帮你导出&#xff0c;但是js文件不会&#xff0c;需要你手动导出&#xff0c;启动的服务器&#xff0c;只会热更新&#xff0c;如果想要刷新整个页面就自己手动刷新&#xff1b…