【发布时间】:2016-06-22 04:25:00
【问题描述】:
我有 .Net c# 类库(C:\path1\path2\Proj1.Web\bin\Proj1.Web.dll)。对象浏览器显示我要调用的公共函数如下
public void RunMe()
Member of Proj1.Web.Services.RunCustomServices
我正在使用
在 powershell 中加载程序集$asm=[Reflection.Assembly]::LoadFile("C:\path1\path2\Proj1.Web\bin\Proj1.Web.dll")
[Proj1.Web.Services.RunCustomServices]::RunMe()
方法调用失败,因为 [Proj1.Web.Services.RunCustomServices] 不包含名为 '润美'。在行:1 字符:1 + [Proj1.Web.Services.RunCustomServices]::RunMe() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFoundPS C:\users\home> [Proj1.Web.Services.RunCustomServices]::RunMe() 方法调用 失败,因为 [Proj1.Web.Services.RunCustomServices] 不包含 一个名为“RunMe”的方法。在行:1 字符:1 + [Proj1.Web.Services.RunCustomServices]::RunMe() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
【问题讨论】:
-
第1步:查找
Add-Type而不是直接使用反射。 -
@Eris,请解释一下为什么这对您有帮助?
-
Nate,如果你的方法不是静态的,你需要一个类的实例来调用方法。您尝试使用的语法仅适用于静态方法。
标签: .net powershell class-library