diff --git a/src/System.Management.Automation/engine/Modules/ImportModuleCommand.cs b/src/System.Management.Automation/engine/Modules/ImportModuleCommand.cs index 2e5562d38d8..4e7f146ec69 100644 --- a/src/System.Management.Automation/engine/Modules/ImportModuleCommand.cs +++ b/src/System.Management.Automation/engine/Modules/ImportModuleCommand.cs @@ -652,7 +652,11 @@ private PSModuleInfo ImportModule_LocallyViaName(ImportModuleOptions importModul else if (Directory.Exists(rootedPath)) { // Load the latest valid version if it is a multi-version module directory - foundModule = LoadUsingMultiVersionModuleBase(rootedPath, importModuleOptions, out found); + foundModule = LoadUsingMultiVersionModuleBase(rootedPath, + ManifestProcessingFlags.LoadElements | + ManifestProcessingFlags.WriteErrors | + ManifestProcessingFlags.NullOnFirstError, + importModuleOptions, out found); if (!found) { diff --git a/src/System.Management.Automation/engine/Modules/ModuleCmdletBase.cs b/src/System.Management.Automation/engine/Modules/ModuleCmdletBase.cs index fb6c1c372b0..6e15ac3df8e 100644 --- a/src/System.Management.Automation/engine/Modules/ModuleCmdletBase.cs +++ b/src/System.Management.Automation/engine/Modules/ModuleCmdletBase.cs @@ -388,7 +388,7 @@ internal bool LoadUsingModulePath(PSModuleInfo parentModule, bool found, IEnumer string qualifiedPath = Path.Combine(path, fileBaseName); // Load the latest valid version if it is a multi-version module directory - module = LoadUsingMultiVersionModuleBase(qualifiedPath, options, out found); + module = LoadUsingMultiVersionModuleBase(qualifiedPath, manifestProcessingFlags, options, out found); if (!found) { @@ -432,10 +432,11 @@ internal bool LoadUsingModulePath(PSModuleInfo parentModule, bool found, IEnumer /// Loads the latest valid version if moduleBase is a multi-versioned module directory /// /// module directory path + /// The flag that indicate manifest processing option /// The set of options that are used while importing a module /// True if a module was found /// - internal PSModuleInfo LoadUsingMultiVersionModuleBase(string moduleBase, ImportModuleOptions importModuleOptions, out bool found) + internal PSModuleInfo LoadUsingMultiVersionModuleBase(string moduleBase, ManifestProcessingFlags manifestProcessingFlags, ImportModuleOptions importModuleOptions, out bool found) { PSModuleInfo foundModule = null; found = false; @@ -465,9 +466,7 @@ internal PSModuleInfo LoadUsingMultiVersionModuleBase(string moduleBase, ImportM null, this.BasePrefix, /*SessionState*/ null, importModuleOptions, - ManifestProcessingFlags.LoadElements | - ManifestProcessingFlags.WriteErrors | - ManifestProcessingFlags.NullOnFirstError, + manifestProcessingFlags, out found); if (found) { diff --git a/src/System.Management.Automation/engine/Modules/TestModuleManifestCommand.cs b/src/System.Management.Automation/engine/Modules/TestModuleManifestCommand.cs index b74c18bfad0..f5e81a26f0e 100644 --- a/src/System.Management.Automation/engine/Modules/TestModuleManifestCommand.cs +++ b/src/System.Management.Automation/engine/Modules/TestModuleManifestCommand.cs @@ -175,7 +175,7 @@ protected override void ProcessRecord() { foreach (ModuleSpecification requiredModule in requiredModules) { - var modules = GetModule(new[] { requiredModule.Name }, true, true); + var modules = GetModule(new[] { requiredModule.Name }, false, true); if (modules.Count == 0) { string errorMsg = StringUtil.Format(Modules.InvalidRequiredModulesinModuleManifest, requiredModule.Name, filePath);