Skip to content

Install-PSResource and NuGet v3: Bad folder name created if version string has no build number #1908

@wellis83

Description

@wellis83

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest released version
  • Search the existing issues.

Steps to reproduce

Register a v3 feed, then install a module with a version string containing only major and minor versions (e.g. "2.1"):

Register-PSResourceRepository -Name test -Uri https://pwsh.gallery/index.json -Trusted
Install-PSResource SemVerPS -Repository test
Import-Module SemVerPS

This will give an error, because the folder is created as "2.1.0" instead of "2.1":

VERBOSE: Skipping the Version folder 2.1.0 under Module C:\Users\wellis\Documents\PowerShell\Modules\SemVerPS as it does not have a valid module manifest file.
Import-Module: The specified module 'SemVerPS' was not loaded because no valid module file was found in any module directory.

Expected behavior

Module is imported

Actual behavior

Importing module fails.

Error details

Exception             : 
    Type    : System.IO.FileNotFoundException
    Message : The specified module 'SemVerPS' was not loaded because no valid module file was found in any module 
directory.
    HResult : -2147024894
TargetObject          : SemVerPS
CategoryInfo          : ResourceUnavailable: (SemVerPS:String) [Import-Module], FileNotFoundException
FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
InvocationInfo        : 
    MyCommand        : Import-Module
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 28
    Line             : Import-Module SemVerPS
    Statement        : Import-Module SemVerPS
    PositionMessage  : At line:1 char:1
                       + Import-Module SemVerPS
                       + ~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Import-Module
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : 
      0
      1

Environment data

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Binary     1.2.0      preview4   Microsoft.PowerShell.PSResourceGet  {Compress-PSResource, Find-PSResource, Get-Instal…


Name                           Value
----                           -----
PSVersion                      7.4.13
PSEdition                      Core
GitCommitId                    7.4.13
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Visuals

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions