2017-04-19 64 views
2

[System.Uri]::new('http://www.stackoverflow.com')與錯誤消息失敗的System.Uri不包含方法命名爲「新」

[的System.Uri]不包含名爲「新」

不過我的方法能夠在另一個盒子上找到這種方法。並運行良好。

如何尋找是否有PowerShell的

+0

您可以運行** $ PSVersionTable **並驗證兩種環境的細節嗎? –

回答

4

下加載你需要PowerShell的5或更高版本才能使用.NET類的.ctor系統對象之間的差異。 在舊版本的Powershell中,您將不得不使用New-Object來執行此操作。

+0

@wOxxOm:剛剛在Server2012R2機器(PS4)上測試過,新的構造函數在那裏不起作用。 – bluuf

+0

這很有趣。顯然,WPF5升級了整個PS環境,所以這些構造函數也在'powershell -version 3'會話中工作。 IIRC我甚至在安裝PS5之前在PS4中成功地使用了':: new()',因此它可能與.NET框架相關。無論如何,它本身並不是PowerShell 5的一個特性,因爲否則它不應該在'-version 3'會話中工作(或者它是一個錯誤?)。 – wOxxOm

+1

@wOxxOm在WMF 5盒子上的'powershell -version 3'是一種錯覺:-)看看'$ PSVersionTable' –

相關問題