@@ -251,6 +251,25 @@ private IEnumerable<PSResourceInfo> FindFromPackageSourceSearchAPI(
251251 SourceCacheContext sourceContext )
252252 {
253253 List < IPackageSearchMetadata > foundPackagesMetadata = new List < IPackageSearchMetadata > ( ) ;
254+ VersionRange versionRange = null ;
255+
256+ if ( _version != null )
257+ {
258+ if ( ! Utils . TryParseVersionOrVersionRange ( _version , out versionRange ) )
259+ {
260+ _cmdletPassedIn . WriteError ( new ErrorRecord (
261+ new ArgumentException ( "Argument for -Version parameter is not in the proper format" ) ,
262+ "IncorrectVersionFormat" ,
263+ ErrorCategory . InvalidArgument ,
264+ this ) ) ;
265+ yield break ;
266+ }
267+
268+ if ( _version . Contains ( "-" ) )
269+ {
270+ _prerelease = true ;
271+ }
272+ }
254273
255274 // filter by param: Name
256275 if ( ! pkgName . Contains ( "*" ) )
@@ -382,16 +401,6 @@ private IEnumerable<PSResourceInfo> FindFromPackageSourceSearchAPI(
382401 }
383402 else
384403 {
385- if ( ! Utils . TryParseVersionOrVersionRange ( _version , out VersionRange versionRange ) )
386- {
387- _cmdletPassedIn . WriteError ( new ErrorRecord (
388- new ArgumentException ( "Argument for -Version parameter is not in the proper format" ) ,
389- "IncorrectVersionFormat" ,
390- ErrorCategory . InvalidArgument ,
391- this ) ) ;
392- yield break ;
393- }
394-
395404 // at this point, version should be parsed successfully, into allVersions (null or "*") or versionRange (specific or range)
396405 if ( pkgName . Contains ( "*" ) )
397406 {
0 commit comments