2016-06-22 5 views
0

Ich habe. NET C# -Klassenbibliothek (C: \ Pfad1 \ Pfad2 \ Proj1.Web \ bin \ Proj1.Web.dll). Der Objekt-Browser zeigt die öffentliche Funktion, die ich anrufen möchten wie folgtWie rufe ich eine öffentliche Funktion in einer .NET-Klassenbibliothek aus Powershell

public void RunMe() 
Member of Proj1.Web.Services.RunCustomServices 

ich die Montage in Power bin Laden mit

$asm=[Reflection.Assembly]::LoadFile("C:\path1\path2\Proj1.Web\bin\Proj1.Web.dll") 
[Proj1.Web.Services.RunCustomServices]::RunMe() 

Methodenaufruf ist fehlgeschlagen, weil [Proj1.Web.Services.RunCustomServices ] enthält keine Methode namens 'Runme'. Bei Zeile: 1 Zeichen: 1 + [Proj1.Web.Services.RunCustomServices] :: RunMe() + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [], Runtime + FullyQualifiedErrorId: MethodNotFoundPS C: \ users \ home > [Proj1.Web.Services.RunCustomServices] :: RunMe() Methodenaufruf fehlgeschlagen, da [Proj1.Web.Services.RunCustomServices] nicht eine Methode mit dem Namen 'RunMe' enthält. Bei Zeile: 1 Zeichen: 1 + [Proj1.Web.Services.RunCustomServices] :: RunMe() + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [], Runtime + FullyQualifiedErrorId: MethodNotFound

+0

Schritt 1: aufblicken 'Add-Baumuster zur Stelle direkt mit der Reflexion. – Eris

+0

Mögliches Duplikat von [Aufrufen von Visual Studio-Methode mit Powershell] (http://StackOverflow.com/Questions/11570011/calling-visual-studio-method-using-powershell) – Ash

+0

@Eris, vorsichtig zu erklären, warum das in Ihrem helfen würde Meinung? –

Antwort

1

da die Funktion nicht static (oder Shared in VB.Net Terminologie) ist, müssen Sie eine Instanz der Klasse erstellen, die Methode zu rufen:

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