Chamando o método do Visual Studio usando o powershell

Eu estou tentando escrever um script PowerShell para chamar um método que está localizado na minha solução Visual Studio (2010). Qual é a syntax para chamar, por exemplo, um método como

public void CreateData(string s, int i) 

?

Você pode compilar seu projeto de biblioteca de class em uma dll, em seguida, carregar a dll usando reflection no powershell. Aqui está um exemplo:

c # code:

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

código do powershell:

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

Este código pressupõe que sua class é chamada “MyClass”. Você pode ter que executar set-executionpolicy RemoteSigned no powershell primeiro.

Você precisará criar class C # e usar algo como InvokeCSharp para chamar o método CreateData

Por favor, veja o link para um bom exemplo http://vincenth.net/blog/archive/2009/10/27/call-inline-c-from-powershell-with-invokecsharp.aspx

Eu criaria um programa assim:

 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)); } } 

E depois que o programa é compilado eu tenho o executável “ConsoleApp.exe”

Eu inicio o seguinte script powershell:

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

Ele grava com sucesso os dados dentro do meu arquivo.