我正在尝试在Powershell中使用此代码:
Add-Type -AssemblyName "System.Collections.Generic"
但是我收到了这个错误:
Add-Type : Cannot add type. One or more required assemblies are missing.
我查看了C:\ windows \ assembly \ GAC_MSIL,可以看到没有名为System.Collections.Generic的文件夹。
我是否需要下载此库,如果是这样的话?
答案 0 :(得分:1)
没有System.Collections.Generic
集会。这是一个命名空间。该命名空间中的大部分类型都在核心库程序集mscorlib.dll
中,因为Powershell是.Net,所以它已经在Powershell中可用。
转到MSDN获取命名空间,找到您尝试使用的类型,然后可以看到它所在的程序集,并记住程序集和命名空间之间不一定存在一对一的关系。
使用泛型类型在Powershell中有点涉及,可以依赖于使用反射或格式化复杂类型名称。
有关详细信息,请参阅this stackoverflow question。
答案 1 :(得分:0)
没关系, 不知道为什么不起作用,但结果我不需要它。
我有这个代码由于某种原因无法正常工作,因为它无法找到[Collections.Generic.List [String]],但现在它似乎有效:
[string[]] $csvUserInfo = @([IO.File]::ReadAllLines($script:EmailListCsvFile))
[Collections.Generic.List[String]]$x = $csvUserInfo
答案 2 :(得分:0)
我会回答另一个问题,你为什么需要这个集会?
您可以尝试通过以下方式替换代码:
$x = [IO.File]::ReadAllLines($script:EmailListCsvFile)
在PowerShell中它应该可以工作。