0

コンピューターにインストールした powershell の特定のモジュールで関数を実行しようとしています。PowerShell ウィンドウでは問題なく動作しますが、PowerGUI を使用すると失敗します。

実行しようとしている間:

Import-Module modulename

例外が発生しました: フォーマット dtat ファイルの読み込み中にエラーが発生しました: Microsoft.PowerShell、次のパス: modulename.format.pslxmml: 「Microsoft.PowerShell」から既に存在していたため、ファイルはスキップされました。

4

1 に答える 1

0

これは、.psm1 ファイル内で Update-FormatData または Update-TypeData を使用しているために発生しています。これにより、書式設定情報を再登録できないため、モジュールが 2 回読み込まれなくなります。これを機能させるには、.psd1 ファイルを使用して、タイプと形式のファイルを指定します。

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

この種のバグは、公開されたモジュールにかなり蔓延していることに注意してください。したがって、モジュールに書式設定がなく、別のモジュールをインポートする場合は、そのモジュールを変更して、そのフォーマッターを正しくインポートする必要があります。

于 2013-08-17T20:16:03.423 に答える