Powershell无法调用.net类'方法

时间:2014-03-21 07:36:22

标签: powershell

我写了powershell脚本,其中包含以下代码:
foreach ($line in [System.IO.File]::ReadLines ...
它在我的电脑上工作正常,但在另一个(相同的.net框架版本)上失败并出现错误: 方法调用失败,因为[System.IO.File]不包含名为' ReadLines' 错误的方法?

2 个答案:

答案 0 :(得分:2)

除非您有充分的理由使用[System.IO.File]::ReadLines,否则请考虑使用PowerShell的Get-Content cmdlet:

foreach ($line in Get-Content .\my\file.txt)
{
   Write-Output $line
}

此外,foreachForEach-Object的别名,您可以管道。管道中的每个对象都称为$ _。因此,您可以编写一个脚本块,它将为您文件中的每一行运行,如下所示:

Get-Content .\my\file.txt | { Write-Output $_ }

答案 1 :(得分:1)

您确定所有涉及的计算机都安装了.net 4.0吗? 并且Powershell是版本3.0或至少2.0,并且powershell.exe.config已自定义为使用.Net 4.0?

File.ReadLines仅从.Net 4.0开始。

为什么不使用get-content cmdlet?

相关问题