让.NET 8 支持 Windows Vista RTM
众所周知,从 Windows 的每次更新又会新增大量 API,这使得兼容不同版本的 Windows 需要花费很大精力。导致现在大量开源项目已经不再兼容一些早期的 Windows 版本,比如 .NET 8 AOT编译命令行程序时生成的EXE,依赖以下三个函数,经查只有Windows 7 SP1以上系统才包含,具体参见:让.NET 8 支持 Windows Vista RTM · Issue #66 · Chuyu-Team/YY-Thunks (github.com)。
YY-Thunks(https://github.com/Chuyu-Team/YY-Thunks)是一个采用MIT许可证的开源项目,旨在解决Windows XP RTM版本无法定位程序输入点的问题,例如DecodePointer、EncodePointer、RegDeleteKeyEx等。这个项目通过使用LoadLibrary
和GetProcAddress
动态加载API,并在API不存在时提供补偿措施,模拟原始API的行为,从而让程序能在旧版本的Windows上正常运行。YY-Thunks的特点包括快速、安全,支持多种编译器和运行库模式。可以通过NuGet包管理器或手工配置的方式集成到项目中。
YY-Thunks最新发布的v1.0.10-Beta3 包含了对.NET 8 的Native AOT的支持。
YY-Thunks 通过动态加载和模拟这些函数的行为,使得在旧版 Windows 上运行的程序能够调用这些函数,即使它们的系统库中没有直接提供这些函数。这样,开发者可以继续使用现代编程实践和 API,同时保持对旧操作系统的兼容性。
为了确保您的项目兼容性,您应该查看 YY-Thunks 的官方文档或源代码,以获取最新的支持列表和集成指南。由于 API 支持可能会随着 YY-Thunks 的更新而变化,直接查看项目的最新信息是最准确的做法。
让.NET 8 支持 Windows Vista RTM的更多相关文章
- Windows Vista如何让梦幻桌面支持更多格式
Windows Vista 梦幻桌面(DreamScene)到底能不能支持除了Mpeg/mpg以外的格式? 很多人说梦幻桌面的视频格式有限,像AVI.RM.RMVB就不能做成梦幻桌面!也有很多朋友着急 ...
- Windows Vista 安装和使用指导 - 停止支持后的几条建议
简介 曾经被广大网民吐槽的Windows Vista现在已经淡出了人们的视线,但仍有一些朋友想要体验一下这个操作系统.Windows Vista是Windows发展路线上的里程碑,相比之前的Windo ...
- 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口
在系统启动时,Windows Vista 中. 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TI ...
- windows sever2003安装Wamp 2.5不成功——VC 11不支持Windows Server 2003和win XP?
Windows Server 2003 安装Wamp 2.5不成功Wampserver 2.5 will not run on Windows XP 报错信息:C:\wamp\bin\apache\a ...
- 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发
Windows 10 自 1703 开始引入第二代的多屏 DPI 机制(PerMonitor V2),而 WPF 框架可以支持此第二代的多屏 DPI 机制. 本文将介绍 WPF 框架利用第二代多屏 D ...
- 在 Windows Vista、Windows 7 和 Windows Server 2008 上设置 SharePoint 2010 开发环境
适用范围: SharePoint Foundation 2010 | SharePoint Server 2010 本文内容 步骤 1:选择和预配置操作系统 步骤 2:安装 SharePoint 20 ...
- Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)
作者:Kenny Kerr 翻译:Dflying Chen 原文:http://weblogs.asp.net/kennykerr/archive/2006/09/29/Windows-Vista-f ...
- Windows Vista 的历史地位
Windows Vista,这是一个不那么如雷贯耳的Windows名字,很多人甚至从来没有体验过这个操作系统.但是,Windows Vista刚刚推出时候所引起的话题性,恐怕是其后的Win7也难以与之 ...
- 渗透杂记-2013-07-13 Windows XP SP2-SP3 / Windows Vista SP0 / IE 7
Welcome to the Metasploit Web Console! | | _) | __ `__ \ _ \ __| _` | __| __ \ | _ \ | __| | | | __/ ...
- How to: Fix a network printer suddenly showing as offline in Windows Vista, 7 or 8 « Robin's Blog
This post has become quite popular – so I've updated it with a bit more detail, plus some people's e ...
随机推荐
- Docker部署之使用docker-compose部署(全新的干净的服务器,从0开始搭建)
部署环境准备 安装yum # 安装yum工具 yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken 安装d ...
- KingbaseES toast技术原理及实现
前言 1.TOAST的作用 TOAST全称是The Oversized-Attribute Storage Technique, 超大属性存储技术,就是超长字段在数据库中的存储方式.主要用来应对物理数 ...
- KingbaseES V8R6 集群运维案例 -- 自动故障转移失败处理
KingbaseES V8R6版本 数据库自动故障转移失败(Automatic Database Failover Fails) 适用于: KingbaseES V8R6 版本. repmgr配置信息 ...
- archlinux 格式化分区并创建文件系统后,分区的文件系统没有改变
这就需要格式化分区并创建文件系统后 再执行partprobe应该就可以看到分区的文件系统改变了 partprobe partprobe命令用于通知操作系统重新读取分区表,以便识别新创建的分区或者删除的 ...
- 学习Source Generators之IncrementalValueProvider
前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider. 介绍 ...
- OTP/HOTP/TOTP的资料
参考资料 [加解密]动态令牌-(OTP,HOTP,TOTP)-基本原理 每天一个小知识:HOTP HOTP和TOTP算法图解 RFC HMAC: Keyed-Hashing for Message A ...
- 使用OHOS SDK构建benchmark
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/google/bench ...
- Java中的类型推断和lambda表达式
目录 简介 类型的显示使用 Stream中的类型推断 类型推断中变量名字的重要性 类型推断对性能的影响 类型推断的限制 总结 简介 java是强类型的编程语言,每个java中使用到的变量都需要定义它的 ...
- Python 学习路线:介绍、基础语法、数据结构、算法、高级主题、框架及异步编程详解
Python 介绍 Python 是一种 高级 的.解释型 的.通用 的编程语言.其设计哲学强调代码的可读性,使用显著的缩进.Python 是 动态类型 和 垃圾收集 的. 基本语法 设置 Pytho ...
- 二、Unity调用Xcode封装方法
1.开始封装Unity调用接口 我们在Xcode中 写的接口需要在extern "C"中(加上extern "C"后,会指示编译器这部分代码按C语言的进行编译) ...