본문 바로가기
programming language/powershell

Powershell 에서 C# 으로 만들어진 DLL 사용하기

by __observer__ 2017. 12. 28.
반응형

이전 포스팅에서 C# 으로 만들어진 DLL 을 Autohotkey 에서 사용하는 방법에 대해 알아 봤는데요. 

http://iamaman.tistory.com/2042

오늘은 C# 으로 만들어진 DLL을 Powershell 에서 사용하는 방법에 대해 알아보려 합니다. 

예제를 위한 C# 코드는 아래와 같습니다. 위 포스팅에서의 예제와 다른 점이라면 static 함수가 있다는 겁니다.



-test.cs-


using System;

namespace myDLL

{

public class Calculator

{

public static int  Sub(int a, int b)

{

return a - b;

}

public int Add(int a, int b)

{

return a + b;

}

public int increase(int var)

{

var++;

return var;

}

}

}

다음과 같이 C# 코드를 dll 파일로 빌드 합니다.

csc.exe /target:library test.cs


이렇게 만들어진 dll 파일을 Powershell 에서 로드하기 위해 아래와 같이 명령 합니다.

Add-Type -Path "DLL 파일 path"   

EX ) Add-Type -Path "E:\workspace\2017-12-27\test.dll"


이제 위에서 만든 dll 이 로드 됐으므로 myDLL namespace 의 Calculator 클래스를 사용할 수 있습니다. 

Powershell 에서 static 함수 호출은 아래와 같이 합니다.

[myDLL.Calculator]::Sub(2,3)

-1

다음으로 멤버 함수를 불러오기 위해서는 instance 를 생성 한 후에 호출 해 주면 됩니다. Powershell 코드는 아래와  같습니다. 

$test = New-Object -TypeName myDLL.Calculator

$test.Add(2,3)

5

Powershell 에서 전체 실행은 아래와 같습니다.



반응형

댓글