gpt4 book ai didi

powershell - 找不到powershell dll方法

转载 作者:行者123 更新时间:2023-12-03 00:59:48 25 4
gpt4 key购买 nike

我有一个PowerShell脚本,我想在其中以某种方法设置一个值。
我使用一个dll,现在我在这些dll文件中存在这些方法。

但是由于某种原因,我仍然得到未找到异常的方法。

我更新了dll并在脚本中打印了文件名,因此我确定我的脚本使用了正确的dll。
我检查了dll,并且该方法存在。

在同一个文件中,我有另一种使用的方法,可以很好地工作。

我以为我可能有书写错误,但没有找到。

$messagingDllPath = Join-Path -Path $PSScriptRoot -ChildPath 'dll/OneHIP.Messaging.dll' | Resolve-Path
Add-Type -Path $messagingDllPath # Add assembly

[OneHIP.Messaging.Configuration.ApplicationSettingsProvider]::SetValue("ClientId","idValue")

[OneHIP.Messaging.Configuration.ApplicationSettingsProvider]::SetValue("ClientSecret","secret")
<member name="M:OneHIP.Messaging.Configuration.ApplicationSettingsProvider.SetValue(System.String,System.String)">
<inheritdoc/>
</member>
2019-09-23T08:18:30.3228501Z ##[error]ValidateBusConfiguration : System.Management.Automation.RuntimeException: Metho
d invocation failed because [OneHIP.Messaging.Configuration.ApplicationSettings
Provider] doesn't contain a method named 'SetValue'.
at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(F
unctionContext funcContext, Exception exception)
at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(Inte
rpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.
Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.
Run(InterpretedFrame frame)
At \\eqx-prd-ohfs.appliarmony.net\MSG\OneHipConfigurationValidationTfsBuildTask
\ValidateOneHIPConfiguration.ps1:217 char:9
+ ValidateBusConfiguration
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,ValidateBusConfiguration

有人知道这里存在什么问题吗?

最佳答案

通过使用Get-Member检查PowerShell是否知道该方法:
$ObjectInstance | Get-Member
添加-Static开关以查看静态方法:
$ObjectInstance | Get-Member -Static
后一个选项也可以直接用于类型:
[TypeName] | Get-Member -Static
您正在使用PowerShell的静态方法调用约定(即使用::运算符)。如果它不是静态的(此后您已经确认),则需要首先创建您类型的实例(使用New-Object),然后使用实例方法语法(即使用.运算符)进行调用。

关于powershell - 找不到powershell dll方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58058574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com