Rus*_*ell 42 powershell assemblies
我是C#.NET开发人员/架构师,并且理解它使用对象(.NET对象)而不仅仅是流/文本.
我希望能够使用PowerShell在我的.NET(C#库)程序集上调用方法.
如何在PowerShell中引用程序集并使用程序集?
And*_*der 54
使用PowerShell 2.0,您可以使用内置的Cmdlet Add-Type.
您只需要指定dll的路径即可.
Add-Type -Path foo.dll
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用内联C#或VB.NET与Add-Type.@"语法是HERE字符串.
C:\PS>$source = @"
public class BasicTest
{
public static int Add(int a, int b)
{
return (a + b);
}
public int Multiply(int a, int b)
{
return (a * b);
}
}
"@
C:\PS> Add-Type -TypeDefinition $source
C:\PS> [BasicTest]::Add(4, 3)
C:\PS> $basicTestObject = New-Object BasicTest
C:\PS> $basicTestObject.Multiply(5, 2)
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 49
看一下博客文章从PowerShell加载自定义DLL:
以一个简单的数学库为例.它有一个静态Sum方法和一个实例Product方法:
namespace MyMathLib
{
public class Methods
{
public Methods()
{
}
public static int Sum(int a, int b)
{
return a + b;
}
public int Product(int a, int b)
{
return a * b;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在PowerShell中编译并运行:
> [Reflection.Assembly]::LoadFile("c:\temp\MyMathLib.dll")
> [MyMathLib.Methods]::Sum(10, 2)
> $mathInstance = new-object MyMathLib.Methods
> $mathInstance.Product(10, 2)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
64165 次 |
最近记录: |