8

このようにロードすると問題なく動作するPowerShellモジュールを作成しました

Import-Module "C:\temp\My.PowerShell.DocumentConversion.dll"

モジュールをグローバルアセンブリキャッシュにも登録しましたが、そこからロードできません。モジュールが実際にgacにロードされていることを確認しました。このようにモジュールをロードするだけで十分だと思いました

Import-Module My.PowerShell.DocumentConversion.dll

明らかに私は間違っていましたが、gacからPowerShellモジュールを実行するにはどうすればよいですか?

4

2 に答える 2

18

Add-Typeコマンドレットを試してください。

Add-Type -Assembly My.PowerShell.DocumentConversion

動作しない場合は、 LoadWithPartialNameメソッドを試してください。

[System.Reflection.Assembly]::LoadWithPartialName('My.PowerShell.DocumentConversion')

または、フルパスを使用します。

[System.Reflection.Assembly]::LoadFile(...)
于 2013-02-12T16:04:57.807 に答える
2

アセンブリがGACにある限り、アセンブリを参照するために厳密な名前を使用してください。GACへのパスを取得するには、.Net4.0http ://en.wikipedia.org/wiki/Global_Assembly_Cacheで変更されていることに注意してください。

$assemblyPath = 'path to the assembly file in the gac'
$fullName = [System.Reflection.AssemblyName]::GetAssemblyName($assemblyPath).FullName
[System.Reflection.Assembly]::Load($fullName)
于 2014-02-20T13:02:14.627 に答える