PoshCode / ModuleBuilder

A PowerShell Module to help scripters write, version, sign, package, and publish.
MIT License
445 stars 54 forks source link

Install-RequiredModule error on Mac/Linux #92

Closed bravo-kernel closed 4 years ago

bravo-kernel commented 4 years ago

Unsure if this is related to the module update but Azure Pipelines (for Mac and Linux) is choking on Install-RequiredModule with the following error:

Unable to find type [VersionRange]

Looks to be caused by this pipeline template: https://github.com/PoshCode/Azure-Pipelines/blob/master/Install-RequiredModule-step.yml#L34 (already mentioning Windows only).

Pipeline details found here:
https://dev.azure.com/alt3bv/Docusaurus.Powershell/_build/results?buildId=620&view=logs&j=18fe8392-28c7-5583-f88f-5fc6a2f5d637&t=8a5ae15e-4367-56d2-ffbc-efca611e9efb

No issues on Windows:

image

Pointers appreciated

Jaykul commented 4 years ago

I don't think that's related. The [VersionRange] type is from the NuGet.Versioning assembly, which should be embedded in Install-RequiredModule (see RequiredModules)

bravo-kernel commented 4 years ago

Thanks for the feedback. I actually looked at that repo but it's where I got really confused:

Since the code is in different repos it's a bit hard to add debugging. Let's leave this open for now, perhaps a light bulb moment will happen.

FISHMANPET commented 4 years ago

I ran into this problem myself in a pipeline, and on my Windows machine using PS7. It looks like your attempt to embed the assembly in the file doesn't work properly in Core Just a shot at the dark, I see that version 4.x of the Nuget.Versioning nuget package had a dependency on the NETStandard.Library, which I'm fairly certain I don't have on my personal machine, but the 5.x versions no longer have that dependency, do you happen to know what version of the assembly you included?

The package appears to have no dependencies for .NetFramework, which would explain why it "Just Works" on Windows in classic PowerShell.

Jaykul commented 4 years ago

This was a bug in PowerShell 7.0.0 and it's fixed in PowerShell 7.0.1