powershellpsreadline

PSReadLine throw exception after upgrading to PS 7.2


Exception thrown after upgrading to Powershell 7.2.0 while using PSReadLine

### Environment
PSReadLine: 2.2.0-beta1
PowerShell: 7.2.0
OS: Microsoft Windows 10.0.22000
BufferWidth: 309
BufferHeight: 55

Last 0 Keys


System.TypeLoadException: Could not load type 'System.Management.Automation.Subsystem.PredictionResult' from assembly 'Microsoft.PowerShell.PSReadLine.Polyfiller, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
   at Microsoft.PowerShell.PSConsoleReadLine.PredictionViewBase.Reset()
   at Microsoft.PowerShell.PSConsoleReadLine.PredictionInlineView.Reset()
   at Microsoft.PowerShell.PSConsoleReadLine.Prediction.Reset()
   at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken)

Solution

  • As mentioned in this thread, the issue can be fixed by

    This issue was fixed in 2.2.0-beta3 version of PSReadLine. You can fix this by upgrading to the latest 2.2.0-beta4 version of PSReadLine. Instructions for doing so:

    1: stop all instances of pwsh.

    2: from cmd.exe run:

    pwsh -noprofile -command "Install-Module PSReadLine -AllowPrerelease -Force"
    

    Further if you want previous setup uninstalled, follow as

    If you want to remove that beta version of PSReadLine and use the 2.1.0 version of PSReadLine that's shipped with PowerShell 7.2, you can:

    1: run pwsh -noprofile -noninteractive to start pwsh without loading PSReadLine

    2: run Uninstall-Module -Name PSReadLine -RequiredVersion <2.2.0-beta1 or 2.2.0-beta2> -AllowPrerelease to remove the module. Or, you can manually remove that module folder.