C# 使用powershell调用Visual Studio方法
我正在尝试编写一个powershell脚本来调用位于我的Visual Studio(2010)解决方案中的方法。 例如,调用以下方法的语法是什么C# 使用powershell调用Visual Studio方法,c#,.net,powershell,C#,.net,Powershell,我正在尝试编写一个powershell脚本来调用位于我的Visual Studio(2010)解决方案中的方法。 例如,调用以下方法的语法是什么 public void CreateData(string s, int i) ?您需要构建C#类,并使用类似InvokeCSharp的东西来调用CreateData方法 请查看链接以获取一个好的示例您需要构建C#类,并使用类似InvokeCSharp的东西来调用CreateData方法 请参见链接以获取一个好的示例我将创建一个类似这样的程序: cl
public void CreateData(string s, int i)
?您需要构建C#类,并使用类似InvokeCSharp的东西来调用CreateData方法
请查看链接以获取一个好的示例您需要构建C#类,并使用类似InvokeCSharp的东西来调用CreateData方法
请参见链接以获取一个好的示例我将创建一个类似这样的程序:
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
它成功地将数据写入我的文件中。我将创建一个如下程序:
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
它成功地将数据写入我的文件。您可以将类库项目编译成dll,然后使用powershell中的反射加载dll。以下是一个例子: c#代码: powershell代码:
$lib = [Reflection.Assembly]::LoadFile("C:\path\to\MyClass.dll")
$obj = new-object MyClass
$result = $obj.CreateData("s_value",5)
此代码假定您的类名为“MyClass”。您可能必须首先在powershell中运行set-executionpolicy RemoteSigned。您可以将类库项目编译成dll,然后使用powershell中的反射加载dll。以下是一个例子: c#代码: powershell代码:
$lib = [Reflection.Assembly]::LoadFile("C:\path\to\MyClass.dll")
$obj = new-object MyClass
$result = $obj.CreateData("s_value",5)
此代码假定您的类名为“MyClass”。您可能必须先在powershell中运行set-executionpolicy RemoteSigned。谢谢您的回复。我可以用你给我的语法打开我的类,但是我不能调用特定的方法。我试着像myclass.cs/CreateData那样去做,但没有成功。有什么想法吗?你需要先编译你的类,然后用.exe文件路径启动命令。您可以使用csc命令行实用程序()构建类,感谢您的响应。我可以用你给我的语法打开我的类,但是我不能调用特定的方法。我试着像myclass.cs/CreateData那样去做,但没有成功。有什么想法吗?你需要先编译你的类,然后用.exe文件路径启动命令。您可以使用csc命令行实用程序()构建类如果要指定DLL的相对路径,您可以使用
LoadFrom
,如果要指定DLL的相对路径,您可以使用LoadFrom