我有一個簡單的模塊:varExp.psm1
$ VAR1 = 20
出口型ModuleMember -Variable VAR1
我導入此模塊插入PS會話:
PS>導入模塊\ varExp.psm1
然後
PS> $ VAR1
但經過我導入第二次
PS>導入模塊。\ varExp。 psm1
PS> $ VAR1
PS>
$ VAR1成爲空...
任何人知道這到底是怎麼回事呢? (PS2.0)
編輯:有解決方法:強制重新加載Import-Module .\varExp.psm1 -Force
,並測試模塊是否加載之前:if(-not (Get-Module varExp)) { Import-Module .\varExp.psm1 }
。但是我希望在簡單情況下可以獲得一些原因。
我認爲真正的WTF在這裏是一個已經導入的模塊的Import-Module(不帶-Force)不會產生錯誤並且確實會造成損害。 [Microsoft Connect]上報告了類似的情況(https://connect.microsoft.com/PowerShell/feedback/details/564927/import-module-fails-to-identify-if-a-module-is-already-loaded -when-the-modulestoprocess-manifest-attribute-contains-a-relative-path) – OldFart