让.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 的更新而变化,直接查看项目的最新信息是最准确的做法。
欢迎大家扫描下面二维码成为我的客户,扶你上云

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2022-05-05 Microsoft Graph 的 .NET 6 之旅
2020-05-05 使用Jexus 容器化您的 Blazor 应用程序
2007-05-05 Microsoft 的 OpenSource Licence
2007-05-05 Notepad2 一个很不错的记事本
2007-05-05 免费获取Silverlight Stream Service Account
2007-05-05 ASP.NET AJAX 控件开发基础
2007-05-05 更新Silverlight ctp到Silverlight beta 1.0