Как вызвать метод С# в DLL из Runbook в службе автоматизации Azure?

Допустим, я создаю простой класс 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. Как бы я это сделал? Я пробовал несколько вещей, но продолжаю получать сообщение об ошибке.


person Robert W.    schedule 11.07.2016    source источник
comment
Какую ошибку вы получаете?   -  person Nate Barbettini    schedule 11.07.2016
comment
Решение было найдено путем выяснения, где Azure хранит глобальные модули и пользовательские модули. Вот решение, которое работает: Add-Type -Path C:\Modules\User\HelloWorld\HelloWorld.dll [HelloWorld.HelloWorld]::Start()   -  person Robert W.    schedule 12.07.2016
comment
Я бы рекомендовал опубликовать его как ответ ниже, чтобы другие могли видеть его более четко!   -  person Nate Barbettini    schedule 13.07.2016


Ответы (1)


Для этого попробуйте выполнить следующие действия:

1) заархивируйте файл dll, затем щелкните Автоматизация Azure -> АКТИВЫ -> ИМПОРТ МОДУЛЕЙ, как показано ниже, загрузите заархивированный файл. введите здесь описание изображения

2) напишите тестовый код, как показано на скриншоте ниже, мы можем получить результат, когда нажмем «ТЕСТ» < img src="https://i.stack.imgur.com/iCOZn.png" alt="введите здесь описание изображения">

person Jambor - MSFT    schedule 13.07.2016
comment
Я сделал то же самое для развертывания DACPAC с помощью Microsoft.SqlServer.Dac.dll, но это не работает в службе автоматизации Azure. Есть идеи, почему? Ссылка — social.msdn.microsoft.com/Forums/azure/en-US/ - person Pranav Jituri; 27.10.2017
comment
@Jambor Я пробовал так же, но получаю сообщение об ошибке «Недопустимая структура модуля». Что можно исправить - person PavanKumar GVVS; 24.04.2020