当我在第一行运行带有#Requires -Version 4 -Modules TestModule
语句的简单脚本时,出现错误:
无法运行脚本'TestScript.ps1',因为以下内容 由脚本的“#requires”语句指定的模块 缺少:TestModule CategoryInfo:ResourceUnavailable:(TestScript.ps1:String)[],ScriptRequiresException FullyQualifiedErrorId: ScriptRequiresMissingModules
一些有趣的事实:
#Requires -Version 4 -Modules TestModule
语句,但当我运行一个脚本#Requires
指向该模块时,两个模块都加载没有任何问题。PSModulePath
。Get-Module -ListAvailable
列出了TestModule及其所有'命令。Import-Module
第一次工作。 $PSVersionTable
:
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.18444
BuildVersion 6.3.9600.16406
我不知道发生了什么。
答案 0 :(得分:0)
#Requires
替换Import-Module TestModule -Verbose
并发现其中一个程序集无法加载,生成错误,但由于$ErrorActionPreference=Continue
加载了其余模块。 #Requires
似乎与Import-Module
的行为不同。