我是C#.NET開發人員/架構師,並且明白它使用對象(.NET對象)而不僅僅是流/文本。如何使用PowerShell引用.NET程序集
我想能夠使用PowerShell調用我的.NET(C#庫)集合的方法。
如何在PowerShell中引用程序集並使用程序集?
我是C#.NET開發人員/架構師,並且明白它使用對象(.NET對象)而不僅僅是流/文本。如何使用PowerShell引用.NET程序集
我想能夠使用PowerShell調用我的.NET(C#庫)集合的方法。
如何在PowerShell中引用程序集並使用程序集?
看看博客文章Load a Custom DLL from PowerShell:
舉個例子來說,一個簡單的數學庫。它有一個靜態的總和方法,和實例產品的方法:
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;
}
}
}
編譯並在PowerShell中運行:
> [Reflection.Assembly]::LoadFile("c:\temp\MyMathLib.dll")
> [MyMathLib.Methods]::Sum(10, 2)
> $mathInstance = new-object MyMathLib.Methods
> $mathInstance.Product(10, 2)
使用PowerShell 2.0,可以使用內置的Cmdlet的添加型。
你只需要指定dll的路徑。
Add-Type -Path foo.dll
此外,您可以使用內聯C#或帶添加類型的VB.NET。在@」語法是這裏的字符串。
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)
哇!這真是不可思議,如果我們可以在控制檯中擁有智能感知功能,這將會更加強大 – mjsr 2010-06-23 14:11:54
Visual Studio中PowerShell的一些選項:http://powerguivsx.codeplex.com/ PowerShell Plus:IDE http://powershellplus.com/ – 2010-06-24 17:33:32
最新的ISE有intellisense。 – MDMoore313 2013-11-01 16:35:55
鏈接沒有加載... – Russell 2010-06-20 13:25:31
鏈接加載在這裏。我會更新我的職務,並從複製的相關部分。 – 2010-06-20 13:26:37
謝謝你的文字。 :)我現在知道爲什麼當我搜索時我找不到答案,我會嘗試一下並讓你知道我該怎麼去。:) – Russell 2010-06-20 13:30:11