2016-07-11 63 views
2

比方說,我創建了一個簡單的C#類:如何從Azure自動化中的Runbook調用DLL中的C#方法?

public class HelloWorld 
{ 
    public static string Start() 
    { 
     return "Hello World at " + DateTime.Now.ToLongTimeString(); 
    } 
} 

現在,讓我們說,我把它編譯成一個DLL,並希望外部調用「開始」方法。經過反覆試驗&錯誤,我發現瞭如何從PowerShell中做的:

[Reflection.Assembly]::LoadFile("c:\code\HelloWorld.dll") 
[HelloWorld.HelloWorld]::Start() 

或者這樣說:

Add-Type -Path "c:\code\Helloworld.dll" 
[HelloWorld.HelloWorld]::Start() 

都工作得不錯!

但是說我想捆綁這個DLL,將它加載到Azure自動化,然後從RunBook進行調用。我會怎麼做?我嘗試了幾件事情,但一直在發生錯誤。

+0

什麼是你的錯誤? –

+0

解決方案是通過計算出Azure存儲「全局」模塊和「用戶」模塊的位置。下面是可以運行的解決方案: Add-Type -Path「C:\ Modules \ User \ HelloWorld \ HelloWorld.dll」 [HelloWorld.HelloWorld] :: Start() –

+0

我建議將它發佈爲下面的答案其他人可以更清楚地看到它! –

回答

2

請嘗試以下步驟來做到這一點:

1)壓縮DLL文件,然後單擊Azure的自動化 - >資產 - >導入模塊,下面的截圖,上傳壓縮文件。 enter image description here

2)編寫測試代碼下面的截圖中,我們可以得到輸出,當我們點擊「TEST」 enter image description here

+0

我使用'Microsoft.SqlServer.Dac.dll'爲DACPAC部署做了同樣的事情,但它在Azure自動化中不起作用。任何想法爲什麼?鏈接 - https://social.msdn.microsoft.com/Forums/azure/en-US/1aa631fe-be32-4915-a3a8-c055575fe94e/how-to-deploy-a-dacpac-using-azure-runbook-automation?論壇= azureautomation#1aa631fe-be32-4915-a3a8-c055575fe94e –

相關問題