0

Visual Studio (2010) ソリューションにあるメソッドを呼び出すための powershell スクリプトを作成しようとしています。たとえば、次のようなメソッドを呼び出すための構文は何ですか

public void CreateData(string s, int i)

?

4

3 に答える 3

6

クラス ライブラリ プロジェクトを dll にコンパイルし、powershell でリフレクションを使用して dll をロードできます。次に例を示します。

c# コード:

public class MyClass {
    public void CreateData(string s, int i) {
        // your logic here
    }
}

パワーシェルコード:

$lib = [Reflection.Assembly]::LoadFile("C:\path\to\MyClass.dll")
$obj = new-object MyClass
$result = $obj.CreateData("s_value",5)

このコードは、クラスが「MyClass」と呼ばれることを前提としています。最初に、powershell で set-executionpolicy RemoteSigned を実行する必要がある場合があります。

于 2012-07-20T02:39:06.893 に答える
0

C#クラスを構築し、InvokeCSharpなどを使用してCreateDataメソッドを呼び出す必要があります

良い例については、リンクを参照してくださいhttp://vincenth.net/blog/archive/2009/10/27/call-inline-c-from-powershell-with-invokecsharp.aspx

于 2012-07-19T22:09:17.343 に答える
0

私はそのようなプログラムを作成します:

class Program
{
    static void Main(string[] args)
    {
        if(args.Length > 1)
            CreateData(args[0], int.Parse(args[1]));
    }

    public static void CreateData(string s, int i)
    {
        File.WriteAllText(@"C:\data.txt", 
              string.Format("This is some data:  s = {0}  i = {1}", s, i)); 
    }
}

そして、プログラムがコンパイルされた後、実行可能な「ConsoleApp.exe」があります

次の powershell スクリプトを起動します。

& "Path_Of_The_Program\ConsoleApp.exe" "MyText" 100

ファイル内にデータを正常に書き込みます。

于 2012-07-19T22:18:21.643 に答える