2011-11-01 25 views
18

Tôi không chắc liệu điều này có khả thi hay không với PowerShell.Chạy tệp DLL của bên thứ ba của tôi bằng PowerShell

Nhưng về cơ bản tôi có chương trình Windows Forms định cấu hình chương trình có tên EO Server. Máy chủ EO có API và tôi tham chiếu đến EOServerAPI.dll để làm cho mã sau chạy.

using EOserverAPI; 
... 
private void myButton_Click(object sender, EventArgs e) 
{ 
    String MDSConnString="Data Source=MSI;Initial Catalog=EOMDS;Integrated Security=True;"; 

    //Create the connection 
    IEOMDSAPI myEOMDSAPI = EOMDSAPI.Create(MDSConnString); 

    //Get JobID 
    Guid myMasterJobID = myEOMDSAPI.GetJobID("myJobRocks"); 
} 

Có thể tương tác với tệp DLL API và thực hiện các loại cuộc gọi giống như bạn làm trong ứng dụng Windows Forms không?

Trả lời

8

Hãy xem bài đăng trên blog Load a Custom DLL from PowerShell. Nếu bạn có thể tương tác với một đối tượng trong .NET, bạn cũng có thể làm điều đó trong PowerShell.

28

Vâng, bạn có thể:

Add-Type -Path $customDll 
$a = new-object custom.type 

Bạn gọi một phương thức tĩnh như vậy:

[custom.type]::method() 

Thay vì Add-Type, bạn cũng có thể sử dụng phản ánh:

[Reflection.Assembly]::LoadFile($customDll) 

(Lưu ý rằng ngay cả ở trên đang gọi thư viện Reflection và phương thức tĩnh LoadFile.)

+0

Tôi bị mất với tuyên bố thứ hai. $ a = new-object custom.type Tôi không biết cách gọi cho tùy chỉnh của mình.type Bạn có thể giúp tôi không? – MicroSumol

Các vấn đề liên quan