2013-02-12 8 views
7

stworzyłem moduł powershell, który działa dobrze, gdybym go załadować jak tenImport-Module z GAC dla PowerShell Wykorzystanie

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

zrobiłem zarejestrować modułu w pamięci podręcznej zestawów globalnych jak dobrze, ale nie mogę Załaduj go stamtąd. Sprawdziłem, czy moduł faktycznie jest załadowany w gac. Pomyślałem, że byłoby to wystarczające, aby załadować moduł jak ten

Import-Module My.PowerShell.DocumentConversion.dll 

Oczywiście myliłem się, jak zrobić, aby uruchomić moduły PowerShell z GAC?

Odpowiedz

15

Spróbuj Add-Type komandletu:

Add-Type -Assembly My.PowerShell.DocumentConversion 

Jeśli nie działa spróbuj metody LoadWithPartialName:

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

lub przy użyciu pełnej ścieżki:

[System.Reflection.Assembly]::LoadFile(...) 
+0

lub przy użyciu pełnej ścieżki: [System.Reflection.Assembly] :: LoadFrom (...) – RinoTom

2

Dopóki zespole znajduje się w GAC, po prostu użyj silnej nazwy, aby odwołać się do zespołu. uzyskać ścieżkę do GAC być świadoma tego, że zmieniła się w .Net 4,0 http://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) 
Powiązane problemy