簡體   English   中英

Powershell無法調用.net類的方法

[英]Powershell can't invoke .net class' method

我編寫了包含以下代碼的powershell腳本:
foreach ($line in [System.IO.File]::ReadLines ...
它在我的電腦上可以正常工作,但在另一台電腦(相同的.net框架版本)上卻失敗,並出現錯誤: 方法調用失敗,因為[System.IO.File]不包含名為“ ReadLines”的方法。 怎么了?

除非您有充分的理由使用[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 $_ }

您確定所有涉及的計算機都已安裝.net 4.0嗎? 而且Powershell是3.0版或至少是2.0並且自定義了powershell.exe.config以使用.Net 4.0?

File.ReadLines僅從.Net 4.0開始。

為什么不使用get-content cmdlet?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM