PowerShell 7.5 Windows 启动崩溃 3 步修复症状定位 .NET 9 运行时恢复完整指南【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShellPowerShell 是微软开发的跨平台命令行外壳与脚本环境7.5 系列基于 .NET 9 运行时构建。如果你在 Windows 上升级到 7.5 后发现pwsh一打开就闪退或者启动后没有任何报错直接退出别慌——这篇文章带你从症状定位开始3 步走完「PowerShell 7.5 启动崩溃」的完整修复路径。快速定位你的症状属于哪一类 先花 30 秒对号入座症状最可能原因窗口一闪即关无任何报错.NET 9 运行时缺失或损坏能启动但卡在加载首条命令报错$PROFILE配置文件语法失效或模块加载失败提示无法加载程序集/模块类错误模块分析缓存损坏管理员能跑普通用户崩溃执行策略或安全软件拦截对完号跑两条命令拿证据在终端执行$PSVersionTable确认你跑的确实是 7.5 系列再跑dotnet --list-runtimes看列表里有没有Microsoft.NETCore.App 9.x。这两个输出是后面所有判断的依据。终端中用$PSVersionTable查看当前运行的 PowerShell 版本与平台信息核心修复路径从 Profile 隔离到 .NET 9 运行时 ️切换 -NoProfile 启动隔离配置文件Profile 每次启动都会自动执行里面一行过期语法或加载失败的模块都足以让引擎在显示提示符之前死掉——这是「PowerShell 7.5 启动崩溃」的头号嫌疑。运行pwsh -NoProfile直接不带 Profile 启动终端能正常打开问题基本锁定在配置文件备份原文件Copy-Item $PROFILE $PROFILE.bak打开$PROFILE找到升级前添加的行尤其单独一行的Import-Module删掉失效的再保存正常执行pwsh验证恢复重装 .NET 9 运行时PowerShell 7.5 依赖 .NET 9 运行时。它缺失或损坏时进程会在打印任何错误之前直接退出这也是无声闪退最常见的根源。运行dotnet --list-runtimes确认列表里存在Microsoft.NETCore.App 9.开头的条目没有或版本异常时到微软官方 .NET 下载页安装 .NET 9 运行时任一 9.0.x 补丁版本即可不要动 .NET Framework那是另一套体系与 7.5 无关重启后执行pwsh验证Visual Studio 新建项目对话框中的 .NET 版本选择安装对应运行时前可先在这里核对目标框架清理模块分析缓存PowerShell 首次加载模块时会扫描清单并写入磁盘缓存升级后缓存结构与引擎版本不匹配时会出现程序集加载错误。关闭所有 pwsh 窗口执行清理命令Remove-Item $env:LOCALAPPDATA\Microsoft\PowerShell\7\ModuleAnalysisCache -Recurse -Force再正常启动pwsh缓存会自动重建首次启动略慢属正常主方案没解决用事件日志深挖 事件查看器看 1000 / 1026 两类关键事件打开eventvwr.msc进入Windows 日志 → 应用程序筛选错误级别事件重点看两个 ID事件 ID 1000应用程序错误故障模块名称字段直接指向肇事模块是coreclr.dll或hostfxr.dll就还是 .NET 运行时的问题事件 ID 1026.NET Runtime记录程序集加载失败的具体类型与版本信息把故障模块名和事件详情复制出来这是后续定位的核心证据。用 -NoProfile -Command 定位卡住的环节终端能打开但执行到一半死掉就把引擎和模块拆开测# 逐行执行先确认引擎加载再列出已安装模块逐个 Import-Module 复现 pwsh -NoProfile -Command Get-Module -ListAvailable | Select-Object Name, Version哪个模块单独导入就崩元凶就是它。想确认最新的 7.5 补丁是否已修复你的问题可以克隆源码查变更记录git clone https://gitcode.com/GitHub_Trending/po/PowerShell7.5 系列最新补丁是 7.5.9变更记录在仓库 CHANGELOG/7.5.mdWindows 下的构建与运行时依赖要求见 docs/building/windows-core.md。后续维护防止启动崩溃复发 ✨升级最新补丁winget upgrade Microsoft.PowerShell很多启动问题在 7.5.x 补丁里修掉了保持 .NET 9 运行时更新装完用dotnet --list-runtimes核对版本应为 9.0.x包源保持官方开发 Cmdlet 或使用 C# 模块时确认 NuGet 源指向官方 PowerShell 源而非来路不明的镜像NuGet 包管理器中选择 powershell-core 源确认取到的是官方 System.Management.Automation 包核心思路就一句先隔离 Profile再修 .NET 9 运行时最后用事件日志深挖。如果三步走完pwsh仍崩溃把事件查看器里 1000/1026 事件的记录和$PSVersionTable完整输出一起提交到官方仓库的 issue 区附全这两样信息排查会快得多。【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考