Kann ich mit System.Core.dll/System.Sammlungen.Generisches.HashSet in der powershell?
Ich würde gerne eine HashSet in einem powershell-Skript. Ich glaube, ich habe herausgefunden, wie man instanziieren generischer collection objects by doing:
[type] $strType = "string"
$listClass = [System.Collections.Generic.List``1]
$listObject = $base.MakeGenericType(@($t))
$myList = New-Object $setObject
Dies funktioniert gut für Listen und Wörterbücher, aber wenn ich versuchen, zu erstellen ein HashSet, den ich bekommen:
Unable to find type [System.Collections.Generic.HashSet`1]: make sure that the assembly containing this type is loaded.
So wie es aussieht jetzt muss ich laden System.Core.dll aber ich kann nicht scheinen, um powershell zum laden der assembly. Zum Beispiel ruft [System.Reflexion.Assembly]::LoadWithPartialName("System.Core") Ursachen dieser Ausnahme:
"LoadWithPartialName" with "1" argument(s): "Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified."
Irgendwelche Hinweise?
- sind Sie in der powershell v1 oder v2?
- Ich bin auf Win2k8 R2 und get-host sagt, version 2.0
- Mögliche Duplikate: Siehe Antwort zu stackoverflow.com/questions/184476/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
PowerShell 2.0 lassen sich diese einfacher durch 1) Hinzufügen des add-Type-cmdlet für das laden einer Baugruppe und 2) aktualisiert, um die syntax um die Angabe einer geschlossenen generischen Typ name einfacher z.B.:
[Parameter(Mandatory=$true)][hashset]
?[Collections.Generic.HashSet[string]]
Ersatz für die string-der Typ, den Sie benötigen, zu speichern in hashset.