我正在尝试在我安装在我的计算机上的特定 powershell 模块中运行一个函数。通过 PowerShell 窗口运行良好,但使用 PowerGUI 时失败。
尝试执行时:
Import-Module modulename
我遇到了异常:加载格式 dtat 文件时出错:Microsoft.PowerShell,路径:modulename.format.pslxmml:文件已跳过,因为它已经从“Microsoft.PowerShell”中出现。
我正在尝试在我安装在我的计算机上的特定 powershell 模块中运行一个函数。通过 PowerShell 窗口运行良好,但使用 PowerGUI 时失败。
尝试执行时:
Import-Module modulename
我遇到了异常:加载格式 dtat 文件时出错:Microsoft.PowerShell,路径:modulename.format.pslxmml:文件已跳过,因为它已经从“Microsoft.PowerShell”中出现。
发生这种情况是因为您在 .psm1 文件中使用了 Update-FormatData 或 Update-TypeData,这将阻止模块加载两次,因为您无法重新注册格式信息。要完成这项工作,请使用 .psd1 文件指定文件的类型和格式:
@{
ModuleToProcess='MyModule.psm1'
ModuleVersion = '1.0'
FormatsToProcess = MyModule.Format.ps1xml'
TypesToProcess = 'MyModule.Types.ps1xml'
}
请注意,这种错误在已发布的模块中相当普遍。因此,如果您的模块没有格式化,但导入了另一个模块,那么您必须修改该模块以正确导入它的格式化程序。