无法将类型“ X”的“ X”值转换为类型“ X”

时间:2019-07-17 08:36:33

标签: powershell

我不知道为什么:

Exception calling "GetSites" with "1" argument(s): "Cannot convert the
"WS.WSErrorObject" value of type "WS.WSErrorObject" to type "WS.WSErrorObject"."
At ...
+ WS.WSSiteEntity[] $sites = $webServiceProxy.GetSites([ref] $wsError)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : PSInvalidCastException

代码很简单:

$webServiceProxy = New-WebServiceProxy -Uri $elevateUri -Credential $credential -Namespace WS

$wsError = New-Object -TypeName WS.WSErrorObject

WS.WSSiteEntity[] $sites = $webServiceProxy.GetSites([ref] $wsError)

它与PowerShell 5 and classes - Cannot convert the "X" value of type "X" to type "X"类似,所以我认为这与存在多个相同类型的副本有关,但是我仍然无法解决。

我尝试使用完整的自动生成的类型名(即,不对Web Service代理使用名称空间),结果是相同的。

我尝试使用弱类型,但不知道如何在不构造新对象并为其指定类型的情况下为引用声明wsError。

0 个答案:

没有答案