Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2023


C# start a process and get output. (Fix process won't quit issue)

根据上述文章内容,我们可以总结出一个关于如何在C#中可靠地执行外部进程并正确处理其输出的解决方案。以下是对该方案的逐步解释: 1. **使用ProcessStartInfo和Process类**:首先,创建一个ProcessStartInfo对象,设置需要执行的可执行文件路径、命令参数以及工作目录。 2. **配置输入输出流重定向**:确保启用了标准输出(StandardOutput)和标准错误(StandardError)的重定向功能。这可以通过将RedirectStandardOutput和RedirectStandardError属性设置为true来实现。 3. **异步等待进程完成**:为了避免阻塞主线程,使用BeginOutputReadLine()方法开始异步读取标准输出,并通过HasExited属性检查进程是否已经结束。同时,可以设定一个超时时间,以防进程执行时间过长导致程序卡死。 4. **捕获标准输出和错误信息**:在进程执行期间,持续读取标准输出和错误流中的数据,并将它们存储在相应的字符串变量中。这样可以在进程结束后,方便地获取所有输出内容。 5. **处理异常情况**:在等待进程完成时,可能会遇到各种异常,例如进程未找到、权限问题等。通过try-catch块来捕捉这些异常,并根据具体情况提供友好的错误提示或采取适当的补救措施。 6. **封装功能到NuGet包**:为了方便复用和共享该解决方案,可以将其封装成一个NuGet包。这样,其他开发者可以通过简单的命令行指令(如dotnet add package)快速集成此功能到他们的项目中,而无需手动复制代码。 通过以上步骤,可以确保在C#环境中可靠地执行外部进程,并正确处理其输出和错误信息,同时提供良好的用户体验和高效的代码复用能力。--DeepSeek

C# git .NET Process Process Management Git Commands

为笔记本安装 Chrome OS

这篇文章详细介绍了在笔记本电脑上安装和配置Chrome OS的过程,包括从下载镜像、写入启动盘到系统安装的每一步骤。文中还提到了启用Linux子系统以运行图形界面应用程序,并建议使用Brunch的更新工具来管理更新。此外,作者讨论了关闭开发者模式以提高安全性以及如何处理Chrome OS中的多重设置和终端环境的问题。最后,文章总结了Chrome OS的优点,如流畅的操作、良好的兼容性以及省电特性,同时也指出了其复杂性可能带来的困惑。--DeepSeek

Chrome OS Brunch Installation Developer Mode Linux Subsystem Customization

太湖骑行环湖之旅

这篇文章记录了作者为期四天的环太湖骑行之旅,全程约300公里。第一天从无锡太湖鼋头渚风景区出发,沿途欣赏了壮丽的日出和热气球表演,最终抵达苏州太湖边;第二天骑行途中经历了风浪和体力考验,但依然坚持到达终点;第三天因轮胎漏气遇到小插曲,最终在无锡花园大酒店下榻;第四天从无锡鼋头渚到尹山湖的75公里城市骑行中,体验了蠡湖公园的上下坡挑战、新吴区的高密度红绿灯以及苏州的日落美景。整个旅程充满痛苦与快乐,最终满足了作者环太湖骑行的愿望。--DeepSeek

Ring Taihu Lake Bike Touring Wuxi Suzhou Cycle Travel 300km Journey

挑选合适尺寸的显示器

这篇文章主要介绍了如何正确选择和设置显示器的分辨率、尺寸以及缩放比例,以确保文字显示大小合适。文章指出,96 PPI 是桌面显示器设计的标准,消费者在购买显示器时应尽量选择 PPI 接近 96 的整数倍(如 192 或 288),以便设置为 100% 或 200% 的缩放比例,从而获得最佳的文字显示效果。文章还提供了 C# 代码,帮助用户计算显示器的 PPI 和建议的缩放比例,并强调了开发者在 96 PPI 环境下测试应用的重要性。此外,文章提醒读者在挑选显示器时应综合考虑色准、色域、HDR 支持、亮度、刷新率和面板类型等其他参数,而不仅仅是 PPI 值。--DeepSeek

C# .NET Display Monitor Resolution Display Resolution

Aiursoft 事故调查、分析与总结

文章详细描述了一次因ZFS备份脚本错误引发的数据访问问题,剖析了故障原因在于zfs send和receive操作导致挂载点重叠,并最终通过在备份过程中卸载数据集解决了问题。文中还强调了在生产环境中谨慎测试脚本的重要性,并分享了改进后的备份流程,确保数据安全性和稳定性。--DeepSeek

Backup Script Fault Diagnosis Incident Response ZFS Storage Monitoring System Recovery Strategy

在服务器中部署单独的Docker应用

在虚拟机(VM)中部署Docker容器时需注意以下几点:1. 管理持久化卷以保存数据;2. 规划端口映射以确保服务可达;3. 分别管理容器与VM,考虑混合环境中的独立操作;4. 使用Docker Compose简化多容器部署和更新流程;5. 利用systemd托管Compose服务,实现自动化运行和维护;6. 逐步向纯容器化部署过渡。--DeepSeek

bash Linux Ubuntu Docker VM Container

快速配置 - 无痛让你的所有 Git Commit 都被 GPG 数字签名

这篇文章介绍了如何为Git配置GPG签名以增强代码安全性的完整步骤,包括安装配置GPG签名、将公钥上传至GitHub或GitLab等平台、跨设备同步GPG密钥的方法(通过网盘存储并导出导入),以及在不同设备上一键配置SSH和GPG环境的脚本示例。文章还提醒用户注意保护私钥的安全性,如使用密码保护、开启两步验证等措施,并强调了与朋友分享公钥以确保签名有效性的必要性。--DeepSeek

bash git PowerShell SSH Nextcloud Sign GPG

Make Gnome looks like Windows 11

这篇文章介绍了一种将Ubuntu桌面环境改造为类似Windows 11风格的方法,包括安装和配置必要的 GNOME 扩展(如ArcMenu、Ding、MissionCenter等),使用Windows 11主题和图标包,调整任务栏设置以实现Windows风格的任务管理界面,并提供恢复默认设置的步骤。此外,还推荐了一些其他有用的 GNOME 扩展来增强功能。--DeepSeek

Ubuntu Windows 11 Gnome Customization ArcMenu User Interface

简明 LLAMA 体验指南

这篇文章介绍了如何在自己的计算机上安装和运行Meta公司的LLama大语言模型。通过简单的步骤:准备GPU环境、填写申请表、克隆仓库、下载模型权重并进行安装配置,用户可以快速搭建一个属于自己的LLama实例。文章还展示了如何修改示例代码以实现自定义的文本生成任务,帮助读者理解如何进一步扩展和应用该模型。作者提醒读者在使用过程中需遵守相关协议和注意事项,并确保计算资源的充足性。如果你对AI语言模型的应用感兴趣,这篇文章将为你提供一个从零开始的操作指南,并激发你思考如何利用LLama解决更多实际问题。那么,在拥有自己的LLama模型后,你会尝试哪些创意项目或复杂任务呢?--DeepSeek

Llama Meta AI Installation Guide Text Generation Tutorial Model Training

Use your own cert to sign your package to identify your code identity.

本文介绍了如何通过自签名证书来增强软件的安全性和可信度。首先,生成并安装自签名证书以进行代码签名,随后使用Signtool工具对可执行文件进行签名,并展示了具体的命令和操作步骤。接着,详细说明了如何将自签名证书应用于签署NuGet包的过程,包括使用dotnet nuget sign命令以及验证签名的有效性。最后,强调了代码签名在提升软件可信度和用户体验中的重要性,并提供了进一步参考的官方文档链接。--DeepSeek

C# Certificate .NET Windows Sign Digicert Code Sign Signature nuget

Manually Enable Windows RE in an independent partition

本文详细介绍了如何优化Windows系统以提升其安全性与可靠性,涵盖虚拟化技术(如核心隔离和VBS)、Secure Boot(启用并信任仅微软证书)、TPM芯片(确保启用并用于BitLocker解锁)及BitLocker加密(建议对所有分区进行加密,除Windows RE环境)等关键安全措施。此外,还强调了防火墙配置(推荐使用白名单策略限制网络访问),UAC设置(确保开启,并采用低权限默认用户和必要时降低屏幕亮度提醒)以及可选的Unified Write Filter功能的重要性。文章还提到了创建独立的Windows RE环境以实现系统状态的快速恢复,并建议在交付他人前完成全面的系统准备,包括重新映像、进入审核模式、激活Windows、安装更新与驱动,随后恢复至OOBE界面并使用DISM捕获当前系统状态,制作RE镜像并部署到独立分区。--DeepSeek

Windows 10 PowerShell Security Windows 11 Bcdedit Windows RE Recovery reagentc Diskpart

Automatically Unlocking LUKS2 Encrypted System Partition Using Clevis and TPM2

这篇文章详细介绍了如何利用Clevis和TPM2技术实现LUKS2加密系统分区的自动解锁功能。首先需要在BIOS中启用Secure Boot和TPM功能,并根据不同的操作系统进行相应的配置。安装`clevis`和相关组件后,通过绑定TPM2密钥并更新系统文件来完成自动解锁的设置。这一过程不仅提升了系统的安全性,还为用户提供了便捷的操作体验。你是否准备好为你的系统实现自动解锁?--DeepSeek

bash Linux Security LUKS2 Clevis TPM2 TPM

Using ZFS is easy

文章介绍了ZFS存储系统的基本配置和优化方法,包括压缩(默认lz4)、校验和确保数据完整性、定期擦除扫描检测修复数据错误、存储池创建及RAID配置(如raidz2支持双冗余)、缓存设备(NVMe)和日志设备的添加以提升性能、同步写入禁用和访问时间关闭等性能优化设置。作者展示了具体的配置示例,包括使用12块TOSHIBA硬盘构建 raidz2 存储池,设置 ashift=12、recordsize=1M、xattr=sa 和 dnodesize=auto 等参数,并添加NVMe设备作为缓存和日志,同时禁用同步写入和访问时间记录以优化性能。--DeepSeek

bash Linux Disk ZFS File Sysytem Raid Dedup

让微软的人组装一台电脑究竟会得到什么怪兽?从装机聊到数据中心

文章探讨了如果微软为土豪定制一台深度优化的游戏PC,最终发现其实Xbox已经是一个高度优化的游戏设备。文章通过详细的技术分析和设计理念,展示了专有设备在特定场景下的优化潜力,包括硬件设计、软件优化、用户体验等方面,并与传统游戏PC进行了对比,强调了专有设备在性能、功耗、稳定性等方面的显著优势。同时,文章还讨论了数据中心物理机的优化策略以及挖矿等专用场景的经济效益,进一步论证了专有设备在特定使用场景下的巨大优化空间和成本效益。最终得出结论:Xbox作为一台小巧强悍、精致完善的游戏设备,不仅体验优越,而且性价比极高,远超传统游戏PC的表现。--DeepSeek

Windows Device Gaming Xbox VBS Hardware Hypervisor

如果要为C919喝彩,你必须先认识运10

这篇文章回顾了中国首架大型喷气式客机运-10的研发历程及其失败的原因,探讨了其对中国航空工业的影响。文章指出,运-10的研制始于20世纪70年代,经历了复杂的政治、经济和技术挑战,最终因多种原因被迫下马。作者通过参观保存完好的运-10飞机,反思了当时的历史背景和决策失误,并强调运-10的失败不仅是技术上的遗憾,更是国家意志和团结精神的缺失。文章还提到,尽管与麦道和空客的合作未能持续,但中国航空工业并未放弃对大飞机的研发,最终在C919项目中取得初步进展。作者认为,虽然C919的市场竞争力尚不明朗,但它代表了中国在大型客机制造领域的重要突破,并为全球市场注入竞争活力。运-10的故事提醒后人,只有坚持自主创新和团结一致,才能实现航空工业的长远发展。--DeepSeek

China Aviation C919 Airplane Airbus Yun 10

Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

这篇文章详细介绍了如何在GitLab CI/CD管道中集成.NET项目,以展示代码覆盖率和单元测试状态。通过安装必要的NuGet包(如coverlet.collector和JunitXml.TestLogger),并配置.gitlab-ci.yml文件,你可以轻松实现对.NET项目的持续集成和持续交付(CI/CD)流程的自动化管理。文章还展示了如何在GitLab界面中查看详细的测试结果和代码覆盖率数据,并将这些信息集成到Pull Request审查过程中。此外,作者还提供了如何在项目Readme文件中添加覆盖率为Badge的方法,以便更直观地展示项目的质量指标。 你是否也在寻找一种高效的方式来跟踪和展示你的.NET项目的质量和稳定性?如果你是持续集成和持续交付(CI/CD)的实践者,这篇文章将为你提供一个具体的解决方案。--DeepSeek

.NET Test Code coverage Continuous Integration GitLab junit YAML

城市天际线 - 解决常见问题

本文探讨了《城市天际线》中常见的“受教育的工人不足”、“地价过低”以及“可供出售的商品不足”等问题,并提供了具体的解决思路与方法。文章指出,“受教育的工人不足”可能源于人口结构不合理,需要从治堵、加强教育、提升城市吸引力、平衡居住区与商业区比例等方面入手。对于“地价过低”,文章建议通过完善基础设施和治堵来改善;而“可供出售的商品不足”则需关注货运路线疏通、工业区修建以及货运火车站的规划。文章强调,治堵是解决几乎所有问题的基础,并提醒玩家注意避免单行道规划错误导致的问题。这些问题不仅涉及城市规划与管理,还反映了社会经济结构的复杂性,为玩家提供了深入思考城市发展的契机。你是否正在为这些问题烦恼?让我们一起探索解决之道!--DeepSeek

educated workers shortage city planning tips game strategies traffic congestion solutions population management economic growth

Common SMTP settings to Office 365 to send Emails

这篇文章详细介绍了如何在多个开源平台上配置Office 365 SMTP设置以发送电子邮件。作者分别针对Gitea、GitLab、Mastodon、Nextcloud和Azure DevOps提供了具体的配置方法和示例代码。通过这些设置,用户可以确保邮件服务能够正常运行并满足不同平台的需求。文章还特别指出在配置过程中可能遇到的问题,如TLS验证失败时的解决方法,并提醒用户根据实际情况调整相关参数。如果你正在使用这些平台并且需要发送通知或提醒邮件,这篇文章将为你提供实用的指导。那么,你是否也在寻找如何优化你的开源平台邮件服务的方法呢?--DeepSeek

Microsoft 365 Mastodon GitLab Gitea SMTP Office365 Exchange

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

根据上述文章内容,可以总结为:文章详细介绍了如何在Linux服务器上部署GitLab Runner并配置CI/CD流水线。作者首先指导安装必要的依赖和设置环境变量,然后逐步完成dotnet SDK、Visual Studio Test、JetBrains ReSharper以及ReportGenerator的安装与配置。接着,文章展示了如何定义一个复杂的CI/CD流水线,涵盖构建、代码质量检查(包括JBInspectCode静态分析)、单元测试、代码覆盖率生成及报告,并详细说明了每个阶段的任务设置和依赖关系。最后,作者还分享了使用GitLab CI/CD进行自动化发布和打包的实践经验,帮助开发者实现高效的持续集成与交付流程。--DeepSeek

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

这篇文章详细介绍了如何在Ubuntu 22.04系统上安装CUDA、cuDNN和PyTorch,并提供了验证每个组件是否成功安装的方法。从选择合适的CUDA版本开始,到通过`nvidia- smi`命令确认显卡驱动版本,再到下载并安装CUDA工具包,文章一步步引导读者完成配置过程。接着,文章讲解了如何安装cuDNN,并通过测试程序确保其功能正常。对于PyTorch的安装,特别提醒用户避免直接使用pip安装,而是要根据硬件和系统环境选择正确的命令。最后,文章还提供了多种验证方法,包括运行“Hello CUDA”示例程序、检查cuDNN版本以及在Python中验证PyTorch是否正确识别GPU。这些步骤不仅确保了安装的成功,也为读者后续进行深度学习项目奠定了基础。--DeepSeek

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

让你的数据中心使用 GPU 算力!

这篇文章介绍了在服务器环境中部署NVIDIA Grid虚拟化GPU解决方案的步骤和注意事项,包括Grid驱动的安装配置、虚拟机的硬件加速设置、vGPU授权验证、AI框架与媒体处理工具的配置方法。文章详细说明了如何使用nvidia-smi命令检查显卡状态和温度信息,并提供了多个开源AI项目的链接供参考运行。此外,还介绍了ffmpeg在GPU上的编解码测试方法以及如何监控服务器温度以优化风扇噪音。最后强调了故障排查的关键点,如驱动版本兼容性、BIOS设置等,帮助用户快速定位和解决问题。--DeepSeek

Ubuntu VMware Vsphere Server NVIDIA Ai vGPU Python Tesla CUDA

自己独立运营一个面向你的朋友的 AI 绘画系统(基于 Stable Diffusion)

通过JSON配置优化Stable Diffusion的UI设置,包括调整按钮显示状态;编辑user.css文件隐藏部分按钮以简化界面;利用FRPC实现内网穿透,结合Caddy进行反向代理和TLS证书管理,从而将本地服务安全地暴露到公网,示例链接为https://stable-diffusion.aiursoft.cn/。教程提供了FRP和Caddy的详细使用指南,并提醒设置密码以增强安全性。--DeepSeek

Web Server Tune Stable Diffusion Ai Self hosting

在2023年学习传统软件开发技巧还有意义吗?

这篇文章探讨了在2023年学习传统软件开发技巧是否仍然有意义,并对未来软件工程的发展趋势进行了深入分析。作者指出,尽管AI辅助开发工具正在改变软件行业的面貌,但传统技术仍然是知识大厦的重要基石。就像学习汇编语言能够帮助程序员更深刻地理解计算机底层运行机制一样,掌握面向对象程序设计等传统技能也是未来工程师必须具备的基础能力。 文章进一步讨论了未来对软件工程师的要求:不仅要精通AI开发,还要深入理解硬件、操作系统、数据结构、算法等基础知识。这种复合型人才将占据未来的高端岗位,而那些只会简单使用AI工具的人则可能沦为低端程序员。作者建议学习重心应向AI相关领域倾斜(70%),同时保持对传统软件工程的关注(20%),并适当涉猎考古技术(10%)。 文章引发我们思考:在AI时代,传统开发是否会被完全取代?未来的工程师应该如何平衡新旧知识的学习?什么样的技能组合才能在未来职场中占据优势? 这些问题值得每一位开发者深思。--DeepSeek

AI in Software Development Traditional Software Engineering Future of Programming Learning Strategy for AI Software Engineer Requirements Career Development in Tech

全面了解 HDR!

这篇文章探讨了高动态范围(HDR)技术在未来显示领域的应用和发展前景。文章指出,随着技术的进步和消费者对更高质量视觉体验的需求增加,HDR技术正在逐步应用于更多的消费电子产品中,如显示器、电视和移动设备等。作者分析了色域与动态范围这两个关键概念,并强调了HDR技术如何通过提升亮度范围和扩展色域来实现更加真实和生动的图像表现。 文章进一步讨论了sRGB色彩空间在未来可能的角色和发展方向,指出尽管HDR技术正在改变显示设备的表现能力,但sRGB作为传统的色彩标准仍然具有其重要性。作者认为,在短期内,sRGB可能会继续被用作基础色彩空间,但在长期内,随着技术的进步和市场需求的推动,sRGB可能会逐渐被更广泛的色彩空间所取代。 此外,文章还探讨了如何开发支持HDR内容的桌面应用程序,强调了硬件和软件配置、像素格式选择以及帧缓冲设置的重要性。作者指出,开发者需要充分考虑这些因素,并利用现代操作系统和图形API的功能来实现高质量的HDR显示效果。 最后,文章展望了未来的发展趋势,预测随着技术的进步和产业链的支持,HDR技术可能会成为显示设备的标准配置,从而为用户提供更加真实、生动的视觉体验。--DeepSeek

HDR Display RGB HDR Technology DYNAMIC RANGE sRGB Color Gamut

Remove the Bing button from Edge

这篇博客详细介绍了如何通过简单的设置和脚本操作来个性化微软Edge浏览器的界面,使其更符合用户的个人偏好。首先,作者展示了如何移除Bing按钮,通过PowerShell命令创建注册表项并调整相关策略,从而实现简洁的操作界面。接着,文章进一步指导用户禁用圆角容器功能,恢复传统的方形标签栏,以获得更为经典的浏览体验。最后,博主还分享了如何关闭头像功能,使工具栏更加整洁。这些步骤不仅展示了Edge浏览器的强大自定义能力,也让用户体验到通过个性化设置提升工作效率的可能性。这篇文章让读者意识到,即使是日常使用的软件工具,也可以通过简单的调整变得更具个人特色和效率。你是否也想尝试对你的Edge浏览器进行类似的个性化改造?不妨跟随文章的指引,探索更多隐藏的功能与设置,让你的浏览体验更加完美!--DeepSeek

PowerShell Edge Bing Edge customization PowerShell script Disable round corners

Some Windows PowerShell tricks

这篇文章介绍了七个实用的 Windows PowerShell 脚本技巧,涵盖了系统管理和自动化任务的多个方面。从添加环境变量到设置壁纸,再到批量管理隐藏文件和升级应用程序,这些脚本展示了 PowerShell 的强大功能。例如,通过简单的代码可以快速找到当前桌面背景的路径并将其设置为新的壁纸,或者通过调用 WMI 方法触发商店应用的更新。此外,作者还分享了如何固定常用路径到“快速访问”以及批量隐藏用户主目录中的隐藏文件和文件夹的方法。这些技巧不仅节省时间,还能提高工作效率。你是否也在寻找类似的自动化解决方案?或者你是否有其他 PowerShell 脚本需求?不妨进一步探索 PowerShell 的无限可能!--DeepSeek

PowerShell Automation Customization Windows System Administration Environment Variables File Management

我的电脑的超频过程 - 发挥出硬件的全部性能

这篇文章详细介绍了优化显示效果和提升视觉体验的方法,包括调整HDR模式下的SDR内容亮度、开启HDR并进行校准、根据显示器类型选择合适的显示设置(如LCD使用鲜艳模式,OLED始终开启HDR),以及通过降低屏幕亮度和优化图形设置来减少蓝光输出。文中还建议谨慎开启低延迟模式以避免显示问题,并推荐了学习更多HDR知识的资源链接。--DeepSeek

Windows NVIDIA Geforce Intel Tune Turbo ASUS

简要买房指南(无中介)

本文详细介绍了二手房交易的完整流程,包括资金托管、缴税、签约、不动产登记受理、缴纳登记费用、领取房产证等关键步骤,并提到了后续的公积金提取和银行抵押手续。文章还指导如何管理银行卡流水以确保按时还款,确保购房者顺利完成交易并维护良好的信用记录。--DeepSeek

Real Estate Tax Filing Mortgage Loan Contract Signing Property Registration Government Fees

存储、计算、显示分离的游戏体验

文章介绍了一种构建家庭游戏娱乐系统的方法,通过分离存储、计算和显示设备来实现高效的游戏体验。首先,利用NAS集中存储大型游戏数据,节省本地空间并方便管理;其次,配置轻量级的计算设备运行游戏平台,并通过网络访问远程存储的游戏内容;最后,使用平板电脑或手机作为显示终端,借助串流技术将游戏画面传输到移动设备上,实现随时随地的高质量游戏体验。文章还提供了具体的步骤和解决方案,包括绕过某些平台的游戏路径检查、优化串流设置等,帮助用户轻松搭建个性化的游戏娱乐系统。--DeepSeek

Game Storage Disk Gaming NVIDIA Steam

UWP 一个技术上成功但商业上失败的框架之死;一个现代的操作系统究竟应该提供什么?

这篇文章探讨了UWP(通用Windows平台)的兴起与衰落。UWP最初被设计为一个跨设备的应用开发框架,旨在简化应用程序在不同设备上的开发和部署过程。然而,尽管UWP具有许多潜在的优势,如统一API、高效性能以及资源管理优化,但在实际应用中,它面临着一系列挑战。 首先,学习曲线陡峭使得开发者难以快速上手。与传统的Win32编程方式不同,UWP要求开发者适应一种更为受限和抽象的开发模式,这限制了其在许多应用场景中的使用,尤其是在需要直接访问底层系统资源的情况下,如文件管理、硬件控制或进程间通信等。这些限制导致大量工具和应用无法通过UWP实现。 其次,UWP的应用生态系统未能有效建立。由于其学习成本高且功能受限,个人开发者、DIY爱好者以及大型企业纷纷转向其他开发框架,这使得UWP的应用数量相对较少,难以形成规模效应。 此外,微软自身在应用设计上缺乏统一性和一致性,导致用户体验混乱。Windows 11中出现了多个实现类似功能但风格各异的应用程序(如OneNote的不同版本),进一步削弱了用户对UWP的信心和接受度。 文章还提到,随着微软逐步将WinUI组件从UWP迁移出来,并转向新的跨平台开发框架MAUI,UWP逐渐被视为一个过时的技术。尽管MAUI引入了一些改进,但其表现仍不令人满意,尤其是在性能和用户体验方面,这可能对未来的应用开发产生深远影响。 最终,作者认为UWP的失败不仅标志着微软在统一应用开发战略上的挫败,也反映了技术发展中的某种趋势:过于理想化的设计可能难以应对复杂的现实需求。通过回顾UWP的历史,作者表达了对未来应用开发方向的担忧,同时怀念Windows曾经拥有的高效和简洁的应用体验。--DeepSeek

C# Microsoft Windows Microsoft Store UWP Windows Development