Отладка плагина - MONQDL/agent-docs GitHub Wiki
Плагин представляет собой библиотеку классов *.dll. Такую библиотеку нельзя запускать напрямую. Чтобы полноценно отладить плагин его должно вызывать приложение Monq Agent.
В Visual Studio можно выполнить отладку из проекта плагина, указав Monq Agent в качестве вызывающего приложения.
- Выберите проект плагина в обозревателе решений. Щелкните проект правой кнопкой мыши и выберите элемент Свойства (Properties).
- В открывшемся окне откройте вкладку Отладка (Debug) и выберите пункт Открыть пользовательский интерфейс профилей запуска отладки (Open debug launch profiles UI).
- В диалоговом окне Профили запуска (Launch Profiles) в списке слева удалите профиль используемый по умолчанию (обычно он называется также как и проект). Далее щелкните значок Создать новый профиль (Create a new profile) (в левом верхнем углу) и выберите Исполняемый файл (Executable).
- В новом профиле в разделе Исполняемый файл (Executable) перейдите к расположению установленного Monq Agent и выберите файл
monq-agent.exe
. - В этом же профиле в разделе Аргументы командной строки (Command line arguments) укажите команду запуска агента
start
илиstart --insecure
если надо запускать агент без проверки SSL сертификата. - В профиле в разделе Рабочая директория (Working directory) укажите директорию где располагается файл
monq-agent.exe
. - Измените название этого профиля на ваше усмотрение, например на
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\\"
}
}
}
Далее надо настроить сборку проекта таким образом чтобы файлы плагина копировались в директорию с плагинами, откуда агент сможет читать ваш пользовательский плагин.
- Снова выберите проект плагина в обозревателе решений. Щелкните проект правой кнопкой мыши и выберите элемент Свойства (Properties).
- В открывшемся окне откройте вкладку Сборка (Build) и выберите пункт События (Events).
- В разделе Событие после сборки (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 (
 del "c:\monq-agent\plugins\$(AssemblyName)\" /q
 dotnet publish "$(ProjectFileName)" --no-build -o "c:\monq-agent\plugins\$(AssemblyName)\"
)" />
</Target>
Все готово для отладки. Запускаем ее нажав на кнопку DebugWithAgent
на панели или кнопку F5 на клавиатуре. Вы должны увидеть открывшееся окно консоли в котором стартует Monq Agent и загружает плагины, включая плагин который вы отлаживаете. Далее, чтобы плагин начал выполнять задачу, запустите задачу для этого плагина из соответствующего потока данных.
Note
Раздел в разработке.