0

我正在尝试在我安装在我的计算机上的特定 powershell 模块中运行一个函数。通过 PowerShell 窗口运行良好,但使用 PowerGUI 时失败。

尝试执行时:

Import-Module modulename

我遇到了异常:加载格式 dtat 文件时出错:Microsoft.PowerShell,路径:modulename.format.pslxmml:文件已跳过,因为它已经从“Microsoft.PowerShell”中出现。

4

1 回答 1

0

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

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

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

于 2013-08-17T20:16:03.423 回答