我有第三方DLL(用c#编写)
它有一个名为DBConnection
的类和名为Connect
的静态方法
当我从我的C#控制台应用程序中调用该方法时,它将正常工作。
DataPackage.Db.DBConnection.Connect()
接下来,我尝试使用PowerShell做同样的事情。
[DataPackage.Db.DBConnection]::Connect()
但这给了我错误
Exception calling "Connect" with "0" argument(s): "Object reference not set to an instance of an object."
这是什么原因以及如何解决这个问题?
答案 0 :(得分:25)
我讨厌在没有个人经验的参考的情况下删除答案,但我从未找到对此行为的解释,所以抱歉这不是更多信息。
调用无参数方法时,请关闭parens。所以对你的例子来说:
[DataPackage.Db.DBConnection]::Connect
而不是...... Connect()
答案 1 :(得分:1)
这不是PowerShell本身的问题,因为您的方法调用确实是正确的。显然,该方法本身试图在某处取消引用null
。也许必须先调用其他方法,或者在某处设置静态属性。