2012-11-08 75 views
0

我想在我的计算机上安装的PowerShell特定模块中运行一个函数。 通过PowerShell窗口,它运行良好,但使用PowerGUI时失败。无法在PowerShell中导入模块 - 无法加载文件

虽然试图执行:

Import-Module modulename 

我得到异常: 有装载政变文件格式错误: Microsoft.PowerShell,路径:modulename.format.pslxmml:跳过文件,因为它已经来自“Microsoft.PowerShell”。

回答

0

这是因为您在.psm1文件中使用Update-FormatData或Update-TypeData而发生的,这会阻止模块加载两次,因为您无法重新注册格式化信息。为了使这项工作,使用的.psd1文件来指定类型和格式的文件:

@{ 
    ModuleToProcess='MyModule.psm1' 
    ModuleVersion = '1.0' 
    FormatsToProcess = MyModule.Format.ps1xml' 
    TypesToProcess = 'MyModule.Types.ps1xml' 
} 

请注意,这类型的错误是在公布模块相当普遍。因此,如果您的模块没有格式化,但导入了另一个模块,那么您必须修改该模块才能正确导入它的格式化程序。