Powershell 7 PSEdition Core
cliveontoast opened this issue · 0 comments
cliveontoast commented
Hi,
When I run my pickles in powershell v5 (PSEdition Desktop) the command works well.
Running in powershell v7 (PSEdition Core) doesn't work.
I understand this is probably because pickles is not build to work from powershell core edition. So it's not really much of an issue. I thought it was useful to describe the problem at least because google didn't help me initially.
If I do have capacity myself, it would be an interesting exercise to try to fix it myself.
Version 2 needs .NET 4.5 - this may be a breaking change for some, but the download sizes are much smaller now. Pickles should run faster too.
My script file Pickles_documentation.ps1 looks as follows:
# Setup variables
$root = "."
$FeatureDirectory = "$root\Features"
$DocumentationFormat = "dhtml"
$OutputDirectory = "$root\Docs\$DocumentationFormat"
# Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
Import-Module $env:USERPROFILE\.nuget\packages\pickles\**\tools\PicklesDoc.Pickles.Powershell.dll
Pickle-Features -FeatureDirectory $FeatureDirectory -OutputDirectory $OutputDirectory -DocumentationFormat $DocumentationFormat
PS C:\xxx.Specs> .\Pickles_documentation.ps1
WARNING: The names of some imported commands from the module 'PicklesDoc.Pickles.PowerShell' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
Pickles v.2.21.0.0
Generating documentation based on the following parameters
----------------------------------------------------------
Feature Directory : C:\xxx.Specs\Features
Output Directory : C:\xxx.Specs\Docs\dhtml
Project Name :
Project Version :
Language : en
Incorporate Test Results? : No
Include Experimental Features? : No
Exclude Tag :
Technical Tag :
Pickles completed successfully
PS C:\xxx.Specs> $PSversionTable
Name Value
---- -----
PSVersion 5.1.18362.752
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.752
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
When I run it in powershell v7 it crashes
PS C:\xxx.Specs> .\Pickles_documentation.ps1
WARNING: The names of some imported commands from the module 'PicklesDoc.Pickles.PowerShell' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
Pickles v.2.21.0.0
Generating documentation based on the following parameters
----------------------------------------------------------
Feature Directory : C:\xxx.Specs\Features
Output Directory : C:\xxx.Specs\Docs\dhtml
Project Name :
Project Version :
Language : en
Incorporate Test Results? : No
Include Experimental Features? : No
Exclude Tag :
Technical Tag :
Pickle-Features: C:\xxx.Specs\Pickles_documentation.ps1:10
Line |
10 | Pickle-Features -FeatureDirectory $FeatureDirectory -OutputDirectory …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Could not load type 'System.Web.Util.Utf16StringValidator' from assembly 'System.Web, Version=4.0.0.0,
| Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
PS C:\xxx.Specs> $PSversionTable
Name Value
---- -----
PSVersion 7.0.3
PSEdition Core
GitCommitId 7.0.3
OS Microsoft Windows 10.0.18363
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0