【问题标题】:How do I call a public function in a .Net class library from powershell如何从 powershell 调用 .Net 类库中的公共函数
【发布时间】: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

【问题讨论】:

标签: .net powershell class-library


【解决方案1】:

由于该函数不是static(或VB.Net 术语中的Shared),您需要创建该类的一个实例来调用该方法:

$RCSInstance = New-Object Proj1.Web.Services.RunCustomServices
$RCSInstance.RunMe()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 2015-05-09
    相关资源
    最近更新 更多