Проект Visual Studio
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Оглавление
Описание
Данный кубик доступен с версии 7.3.2.0
Экшен “Проект Visual Studio” позволяет использовать в проекте ZennoPoster проект созданный в среде Microsoft Visual Studio 2019 и тем самым открывает неограниченные возможности для написания, отладки кода и подключения внешних библиотек.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Свой код → Проект Visual Studio
Либо воспользуйтесь умным поиском.
Для чего это используется?
Удобная интеграция сторонних библиотек и применение их в коде
Создание собственных библиотек для многократного использования в разных проектах
Как работать с экшеном?
Экшн “Проект Visual Studio” может работать в двух режимах:
Использование решения Visual Studio
Использование Dll
В режиме “Использовать решение Visual Studio” свойства кубика выглядят следующим образом
Элементы управления:
Выбор режима работы кубика
Путь к решению в котором находится проект
Проект, который будет запускаться при выполнении кубика
Конфигурация проекта
Флаг объединение выходной dll и зависимостей в один dll файл с помощью ILRepack
Кнопка перехода к режиму “Использовать Dll”
Кнопка “Подключиться к Visual Studio”
Кнопка “Создать новый проект Visual Studio”
В режиме “Использовать Dll” свойства кубика выглядят следующим образом
Элементы управления:
Выбор режима работы кубика
Путь к dll, которая будет запускаться при выполнении кубика
Режим “Использовать решение Visual Studio”
Создание проекта и подключение к Visual Studio
Для работы экшена в режиме “Решение Visual Studio” необходимо, чтобы были установлены:
Visual Studio 2019. Бесплатную Community версию можно скачать на официальном сайте https://visualstudio.microsoft.com/ru/vs/community/
Конечная платформа проекта для .Net Framework 4.6.2 (Download .NET SDKs for Visual Studio (microsoft.com))
Для создания проекта и подключения к Visual Studio выполните следующие шаги:
1. Добавьте экшн и выберите режим “Использовать решение Visual Studio”
2. Создайте новый проект, нажав на кнопку “Создать новый проект Visual Studio” (1)
3. Появится окно в котором необходимо заполнить название проекта, расположение и название решения и нажать кнопку “ОК”
4. В результате запустится процесс создание решения Visual Studio
5. А затем процесс подключения к Visual Studio.
Подключение к Visual Studio обеспечивает взаимодействие между Project Maker и Visual Studio. Данное взаимодействие позволяет:
Вести запись действий из браузера Project Maker в исходный код Visual Studio
Отлаживать проект Visual Studio с доступом к браузеру Project Maker и проекту
6. После подключения в Visual Studio откроется окно браузера Project Maker, если данное окно не открылось автоматически, то его можно вызвать Вид→Другие окна→ZennoPosterToolWindow.
Работа в Visual Studio, структура проекта
Для того, чтобы проект можно было использовать в экшне, он должен удовлетворять следующим требованиям (проекты созданные из Project Maker уже соответствуют всем требованиям):
Содержать ссылки на общие библиотеки ZennoPoster:
Global.dll
,ZennoLab.CommandCenter.dll
,ZennoLab.Emulation.dll
,ZennoLab.InterfacesLibrary.dll
. Данные библиотеки находятся в папке установленного ZennoPoster.Содержать в себе класс, реализующий интерфейс
IZennoExternalCode
. При выполнении кода будет вызван методpublic int Execute(Instance instance, IZennoPosterProjectModel project)
который должен возвращать 0 в случае успеха и любое другое значение в случае ошибки.
Проект созданный автоматически, содержит в себе один файл Program.cs, в котором находится реализация метода Execute
.
Встраивание браузера Project Maker в Visual Studio позволяет вести запись действий в исходный код. Для включения/выключения записи нажмите кнопку “Запись” на панели инструментов окна браузера.
Для возврата браузера в Project Maker нажмите кнопку “Возврат в Project Maker”.
При включённой записи, ввод нового url в браузер порождает создание нового файла действий ActionGroupXXX.cs
, где XXX - сквозной номер набора действий, а в файл Program.cs
добавляется код для вызова данного действия.
Для доступа к браузеру или проекту в метод Execute передаются объекты instance
и project
, с ними можно работать так же, как описан в разделе C# код (Си шарп код .net).
Для отладки кода следует воспользоваться стандартной кнопкой “Пуск” в Visual Studio.
Использование dll
После завершения разработки проекта в Visual Studio можно быстро перейти к прямому использованию выходной dll, для следует воспользоваться кнопкой “Использовать как dll”
После нажатия на данную кнопку откроется окно, которое позволяет выбрать требуемые действия
Сборка решения (обязательный шаг)
Объединение выходной dll и библиотек в один dll файл с помощью ILRepack (позволяет уменьшить количество файлов, которые необходимо переносить с проектом)
Скопировать dll по требуемому пути (по-умолчанию, используется макрос папки проекта)
Изменить режим работы кубика на “Использовать как dll“ и установить путь к dll
Показать собранную dll в проводнике
Возможные ошибки и способы их устранения
Project Target Framework Not Installed (Не установлена конечная платформа проекта)
Данная ошибка означает, что не установлен набор разработчика для .Net 4.6.2, его необходимо скачать с официального сайта и установить https://dotnet.microsoft.com/download/visual-studio-sdks
Call was rejected by callee (RPC_E_CALL_REJECTED)
Данная ошибка означает, что Visual Studio отклоняет запросы на взаимодействие со стороны ProjectMaker. Чаще всего это бывает, когда необходимо совершить какие-либо действия в Visual Studio (появилось диалоговое окно), следует переключится в Visual Studio и выполнить необходимые действия там. После этого следует повторно подключиться к Visual Studio. Если ошибка сохранилась – перезапустите Visual Studio, если это не помогло – обратитесь в техническую поддержку.
После подключения к Visual Studio некорректно работает рендеринг свойств кубиков
Проблема выглядит следующим образом. Обратите внимание, что при клике на разные кубики или пустое место диаграммы свойства кубика корректно не обновляются.
Для устранения данной проблемы необходимо проверить настройки Visual Studio.
Русская версия (Средства→Параметры…→Общие):
Английская версия (Tools→Options…→Общие):
Подробное описание данной настройки доступно по ссылке: Поддержка Per-Monitor для расширений Visual Studio
Если данная опция у вас недоступна, то следует обновить Windows и Visual Studio или можно воспользоваться инструкцией по установке ключа в реестре:
Полезные ссылки