Отладка плагина - MONQDL/agent-docs GitHub Wiki

Плагин представляет собой библиотеку классов *.dll. Такую библиотеку нельзя запускать напрямую. Чтобы полноценно отладить плагин его должно вызывать приложение Monq Agent.

Visual Studio

В Visual Studio можно выполнить отладку из проекта плагина, указав Monq Agent в качестве вызывающего приложения.

  1. Выберите проект плагина в обозревателе решений. Щелкните проект правой кнопкой мыши и выберите элемент Свойства (Properties).
  2. В открывшемся окне откройте вкладку Отладка (Debug) и выберите пункт Открыть пользовательский интерфейс профилей запуска отладки (Open debug launch profiles UI).
  3. В диалоговом окне Профили запуска (Launch Profiles) в списке слева удалите профиль используемый по умолчанию (обычно он называется также как и проект). Далее щелкните значок Создать новый профиль (Create a new profile) (в левом верхнем углу) и выберите Исполняемый файл (Executable).
  4. В новом профиле в разделе Исполняемый файл (Executable) перейдите к расположению установленного Monq Agent и выберите файл monq-agent.exe.
  5. В этом же профиле в разделе Аргументы командной строки (Command line arguments) укажите команду запуска агента start или start --insecure если надо запускать агент без проверки SSL сертификата.
  6. В профиле в разделе Рабочая директория (Working directory) укажите директорию где располагается файл monq-agent.exe.
  7. Измените название этого профиля на ваше усмотрение, например на DebugWithAgent.

Профиль создан. Можно закрывать окна Профили запуска (Launch Profiles) и Свойства (Properties) проекта. Теперь при выполнении отладки будет запускатьcя Monq Agent. В директории Properties появится файл launchSettings.json который будет содержать выставленные настройки отладки. Он будет иметь примерно следующий вид.

{
  "profiles": {
    "DebugWithAgent": {
      "commandName": "Executable",
      "executablePath": "C:\\monq-agent\\monq-agent.exe",
      "commandLineArgs": "start --insecure",
      "workingDirectory": "C:\\monq-agent\\"
    }
  }
}

Далее надо настроить сборку проекта таким образом чтобы файлы плагина копировались в директорию с плагинами, откуда агент сможет читать ваш пользовательский плагин.

  1. Снова выберите проект плагина в обозревателе решений. Щелкните проект правой кнопкой мыши и выберите элемент Свойства (Properties).
  2. В открывшемся окне откройте вкладку Сборка (Build) и выберите пункт События (Events).
  3. В разделе Событие после сборки (Post-build event) добавьте текст следующего вида.
if $(ConfigurationName) == Debug (
  del "*Директория с плагинами Monq Agent*\$(AssemblyName)" /q
  dotnet publish "$(ProjectFileName)" --no-build -o "*Директория с плагинами Monq Agent*\$(AssemblyName)"
)

Этот скрипт при сборке проекта в режиме отладки очищает директорию с плагином и выполняет публикацию в эту директорию. После добавления этого скрипта в файле проекта появится запись следующего вида.

  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="if $(ConfigurationName) == Debug (&#xD;&#xA;  del &quot;c:\monq-agent\plugins\$(AssemblyName)\&quot; /q&#xD;&#xA;  dotnet publish &quot;$(ProjectFileName)&quot; --no-build -o &quot;c:\monq-agent\plugins\$(AssemblyName)\&quot;&#xD;&#xA;)" />
  </Target>

Все готово для отладки. Запускаем ее нажав на кнопку DebugWithAgent на панели или кнопку F5 на клавиатуре. Вы должны увидеть открывшееся окно консоли в котором стартует Monq Agent и загружает плагины, включая плагин который вы отлаживаете. Далее, чтобы плагин начал выполнять задачу, запустите задачу для этого плагина из соответствующего потока данных.

Visual Studio Code

Note

Раздел в разработке.

⚠️ **GitHub.com Fallback** ⚠️