PowerShell: Microsoft.Powershell.Sdk - Script hangs when running from runtime-specific published binary

Prerequisites

Steps to reproduce

  • Unzip test project to some folder
  • Publish binaries dotnet publish PwshTest.csproj -o .\publish --configuration Release --runtime win10-x64
  • Run PwshTest.exe

Expected behavior

Application exits

Actual behavior

Application hangs

Error details

Seems that creating an instance of WScript.Shell is causing the PS sdk library to hang (looping, since there is cpu usage going on). This is specific to using the --runtime parameter on publish. Publishing without specifying runtime does not hang, and running from sources in Debug and Release does not hang either. Removing creation of WScript.Shell from the script file makes it pass without issues.

Tested in SDK 7.1.5, the latest release for Net5 applications.

Environment data

<TargetFramework>net5.0-windows10.0.19041</TargetFramework>
<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.1.5" />

Visuals

Test solution and script: PwshTest.zip

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 18 (3 by maintainers)

Most upvoted comments

See the explanation here: https://github.com/PowerShell/PowerShell/issues/16525#issuecomment-983108982

As for the hang, it’s because the built-in module folder is not deployed along with your project. It was fixed by https://github.com/PowerShell/PowerShell/pull/16628 to detect that a built-in module is missing.

@genriquez I will try later on the same version and give you a feedback if I found something.