2015-10-01 4 views
0

Я получу то, что я прошу, и попытался исследовать это как можно лучше.Как загрузить сборку [Systems.Collections.Specialized.StringCollection] в Powershell

Я пытаюсь использовать объект типа [Systems.Collections.Specialized.StringCollection]:

$newDBFiles = new-object Systems.Collections.Specialized.StringCollection; 

Я получаю ошибку:

new-object : Cannot find type [Systems.Collections.Specialized.StringCollection]: make sure the assembly containing this type is loaded. 
At line:1 char:15 
+ $newDBFiles = new-object Systems.Collections.Specialized.StringCollection; 
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidType: (:) [New-Object], PSArgumentException 
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand 

Я пытался загрузке сборки несколько способов без успеха:

[System.Reflection.Assembly]::LoadWithPartialName("System.Collections.Specialized") | Out-Null; 
    add-type -AssemblyName systems; 
    add-type -AssemblyName systems.collections; 

В документации сказано, что Add-Type Wi Примите местоположение в .dll. Глядя на документацию на StringCollection Class .dll, я хочу System.dll. Похоже, он уже должен присутствовать в моей системе.

Когда я смотрю на сборках уже загружены, я вижу, это один, который мне кажется правильным:

[appdomain]::currentdomain.getassemblies() | sort -property fullname | format-table fullname 

System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 

Там в многочисленные сообщения об использовании типа, но я не мог найти ни о том, как загрузить конкретная сборка. Нужен ли мне специальный DLL-файл?

+0

'System.Collections.Specialized.StringCollection' – PetSerAl

+0

Argh. Большое спасибо. Извините, что трачу впустую. – SQLEnforcer

ответ

1

Чтобы добавить комментарий от @PetSerAl: s после System, которого не должно быть. Сделать это вместо

$newDBFiles = new-object System.Collections.Specialized.StringCollection;