Visual Studio + ProjectMaker. Заготовка VS для работы с проектами ZP

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Но мне бы хотелось реализовать, все следующим образом:
1. Распределить обрабатываемую информацию на сущности. Т.е. сущность отдельный класс и свои методы. Такой "своеобразный общий код" многофайловый получается. Я думаю при такой организации мне будет легче ориентироваться в коде.
2. Логику операций с методами сущности хочу положить в кубики - так проще дебажить и отслеживать, что получается в итоге.
3. Потом я хочу чтобы не захламлять => каждый класс в отдельные файлы положить (см. 1 пункт).
4. Потом очень хочется реализовать полиморфизм. Например есть общий класс назовем его "Класс-запрос-общий", а есть класс профильный запрос по смыслу, назовем его "Класс запрос сообщений". Из класса запрос профильный ("Класс запрос сообщений"), я хочу через полиморфизм запускать методы общего так скажем класса ("Класс-запрос-общий"). - чтобы опять же не хламить методы, не повторять. Т.е. по факту я хочу из простых методов лепить специализированные при этом.
Например метод: "ожидания подгрузки элемента" - он есть при каждом взятии HtmlElement, соответственно зачем мне везде циклы писать, я один общий цикл напишу: сперва топорно с одинаковым интервалом запроса (проверки на is.Void), а потом на более умный перепишу - например со сдвигом интервала (по моим правилам). И для реализации "переписывания" общего метода ожидания элемента мне не будет смысла переписывать все методы, я перепишу один - а все остальные его подхватят (по смыслу конечно).
5. Имеется ли какая-либо возможность перемещать данные из кубика в кубик без project.Context ? Вот с использование такого общего кода?
Записал дополнение к статье с ответами на часть ваших вопросов
 
  • Спасибо
Реакции: lamar015

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 697
Благодарностей
940
Баллы
113
Добрый день.

1). при установке Visual Studio какие компоненты выбирать?

101432


2). По ссылке https://visualstudio.microsoft.com/ru/vs/community/ доступна только Visual Studio 2022. С ней можно работать или надо искать указанные версии 2019 или 2020?
 

Kulya

Client
Регистрация
11.09.2016
Сообщения
177
Благодарностей
48
Баллы
28
Добрый день.

1). при установке Visual Studio какие компоненты выбирать?

Посмотреть вложение 101432

2). По ссылке https://visualstudio.microsoft.com/ru/vs/community/ доступна только Visual Studio 2022. С ней можно работать или надо искать указанные версии 2019 или 2020?
101436



101437


Вроде так

На 7.2.0 работает с 2022 VS
 
  • Спасибо
Реакции: Konrod_m и Dmitriy Ka

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
На первый вопрос уже ответили

2). По ссылке https://visualstudio.microsoft.com/ru/vs/community/ доступна только Visual Studio 2022. С ней можно работать или надо искать указанные версии 2019 или 2020?
Для Visual Studio 2022 нужен ZP v 7.7.1.0 +
Для более ранних версий ZP вроде были проблемы с работой VS 2022
 
  • Спасибо
Реакции: Konrod_m

bigloafer

Client
Регистрация
23.07.2020
Сообщения
243
Благодарностей
76
Баллы
28
Если код в Program.cs не видит классы в Общем коде ZP - это разные пространства имен?

Not wiev.png
 
Последнее редактирование:

Kulya

Client
Регистрация
11.09.2016
Сообщения
177
Благодарностей
48
Баллы
28
  • Спасибо
Реакции: Dmitriy Ka

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Если код в Program.cs не видит классы в Общем коде ZP - это разные пространства имен?

Посмотреть вложение 101466
В метод Execute передаются объекты project и instance, поэтому работать можно только с ними. К общему коду VS доступ не имеет. Если Вам надо продебажить общий код, перенесите его в VS, можно даже создать отдельный класс и перенести туда.

На скрине видно что у Вас много своих классов в Общем коде и большая простыня кода получается. Советую все это перенести в свою библиотеку через VS. В VS создайте отдельные файлы под каждый класс, а потом подключайте библиотеку к нужным проектам. Так и дебажить удобно будет и от простыни в общем коде избавитесь. Видео как это делать добавлено к статье))
 
Последнее редактирование:

Alex.A

Client
Регистрация
14.11.2020
Сообщения
406
Благодарностей
187
Баллы
43
Проголосовал!))
 
  • Спасибо
Реакции: Dmitriy Ka

surf

Client
Регистрация
08.04.2015
Сообщения
6
Благодарностей
2
Баллы
3
Делал по вашему видео.

Вылетает вот такая ошибка

101588
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Делал по вашему видео.

Вылетает вот такая ошибка

Посмотреть вложение 101588
В чем конкретно проблема сказать не могу, с такой ошибкой не сталкивался.
- Какая версия VS и ZP?
- Когда создавали решение VS через кубик в PM, возникали какие ошибки?
- Пробовали все закрыть и создать новое решение VS через новый проект PM?

* с кодом все нормально, тут проблема с взаимодействием VS c ZP.
 

surf

Client
Регистрация
08.04.2015
Сообщения
6
Благодарностей
2
Баллы
3
В чем конкретно проблема сказать не могу, с такой ошибкой не сталкивался.
- Какая версия VS и ZP?
- Когда создавали решение VS через кубик в PM, возникали какие ошибки?
- Пробовали все закрыть и создать новое решение VS через новый проект PM?

* с кодом все нормально, тут проблема с взаимодействием VS c ZP.
Версия ZP 7.4
VS 2019

В логе ZP ничего нет особенного.

А вот в VS это:

101590
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
По хорошему это надо спросить разработчиков, они точно скажут что не так.

Похоже что создаются кривые ссылки на библиотеки ZP.
Попробуйте проверить ссылки в VS
101592


Правой кнопкой -> Свойство

101593


Проверить путь, есть ли по такому пути нужный файл, если все есть и все правильно, тут уже нужно писать разработчикам. Если путь не верный, нужно сделать его верным)). (меня смущает диск W:\ на скрине с Exeption)
 
  • Спасибо
Реакции: Phoenix78

surf

Client
Регистрация
08.04.2015
Сообщения
6
Благодарностей
2
Баллы
3
По хорошему это надо спросить разработчиков, они точно скажут что не так.

Похоже что создаются кривые ссылки на библиотеки ZP.
Попробуйте проверить ссылки в VS
Посмотреть вложение 101592

Правой кнопкой -> Свойство

Посмотреть вложение 101593

Проверить путь, есть ли по такому пути нужный файл, если все есть и все правильно, тут уже нужно писать разработчикам. Если путь не верный, нужно сделать его верным)). (меня смущает диск W:\ на скрине с Exeption)
Все получилось.

1. Доустановил все как здесь
2. И перед запуском сохранил проект в ЗП :D - думаю что из-за этого

Спасибо все работает.
 
  • Спасибо
Реакции: Dmitriy Ka и Phoenix78

dtk77

Client
Регистрация
26.07.2017
Сообщения
24
Благодарностей
4
Баллы
3
Не получается через кубик создать проект VS. После нажатия иконки "создать проект VS",
выскакивает ошибка в ZP "Call was rejected by callee (RPC_E_CALL_REJECTED)"
сразу на этом моменте. В оф. описании есть это упоминание, но что делать с этим?

1672246419187.png

если выбираю сохранить solution, сохраняется только решение, ни папка решения, ни проект не создаются. :bc:
 

Azakim

Client
Регистрация
25.07.2021
Сообщения
165
Благодарностей
31
Баллы
28
Спасибо за статью! Получается VS только для дебага ,я думал что можно как-то склеить проект VS и ZP ,что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Спасибо за статью! Получается VS только для дебага ,я думал что можно как-то склеить проект VS и ZP ,что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
задумка была именно такой... но реальность увы и ах.... пока что приходиться заниматься вот таким извратом, запуск прямо кубика VS в проекте, не приводит ни к чему хорошему.
 
  • Спасибо
Реакции: Azakim

Azakim

Client
Регистрация
25.07.2021
Сообщения
165
Благодарностей
31
Баллы
28
задумка была именно такой... но реальность увы и ах.... пока что приходиться заниматься вот таким извратом, запуск прямо кубика VS в проекте, не приводит ни к чему хорошему.
Жаль конечно очень(
 
Последнее редактирование:

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
Не совсем понял, мысль "получить доступ к новым библиотекам", в ZP можно же подключать библиотеки, а через VS можно писать свои библиотеки для ZP, про это второе видео.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Не получается через кубик создать проект VS. После нажатия иконки "создать проект VS",
выскакивает ошибка в ZP "Call was rejected by callee (RPC_E_CALL_REJECTED)"
сразу на этом моменте. В оф. описании есть это упоминание, но что делать с этим?

Посмотреть вложение 101783

если выбираю сохранить solution, сохраняется только решение, ни папка решения, ни проект не создаются. :bc:
1) Попробуйте запустить ProjectMaker от Админа (а вдруг поможет)
2) Проверьте установки и компоненты VS, важно чтобы был установлен .NET Framework 4.6.2
101794


101795

Если это не поможет, нужно писать в поддержку ZennoLab
 

Kulya

Client
Регистрация
11.09.2016
Сообщения
177
Благодарностей
48
Баллы
28
1) Попробуйте запустить ProjectMaker от Админа (а вдруг поможет)
2) Проверьте установки и компоненты VS, важно чтобы был установлен .NET Framework 4.6.2

Если это не поможет, нужно писать в поддержку ZennoLab
Не все либы работают в ZP так как там только 4.6.2 поддерживается. Уже пару раз наступал на грабли, когда в VS все четко, а в зенке не заводится
 
  • Спасибо
Реакции: Iryna, dtk77 и Dmitriy Ka

Iryna

Client
Регистрация
06.09.2022
Сообщения
22
Благодарностей
10
Баллы
3
Спасибо за статью!
 
  • Спасибо
Реакции: Dmitriy Ka и Azakim

dtk77

Client
Регистрация
26.07.2017
Сообщения
24
Благодарностей
4
Баллы
3
1) Попробуйте запустить ProjectMaker от Админа (а вдруг поможет)
2) Проверьте установки и компоненты VS, важно чтобы был установлен .NET Framework 4.6.2...
Незавелось. Буду признателен, если выложите базовый шаблон решения VS созданный зенкой.
 

dtk77

Client
Регистрация
26.07.2017
Сообщения
24
Благодарностей
4
Баллы
3
Не все либы работают в ZP так как там только 4.6.2 поддерживается. Уже пару раз наступал на грабли, когда в VS все четко, а в зенке не заводится
Я правильно понял, что создавая dll под ZP использовать framework 4.6.2, все что версиями выше в том, числе Net 6 не поддерживается?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Незавелось. Буду признателен, если выложите базовый шаблон решения VS созданный зенкой.
Прикрепил решение VS
Если не будет работать, возможно надо переподключить библиотеки ZP
Вот статья как это сделать: Ссылка

Я правильно понял, что создавая dll под ZP использовать framework 4.6.2, все что версиями выше в том, числе Net 6 не поддерживается?
Да

Но скоро должна выйти ZP 8 Почитать

Преимущества ZennoPoster 8:
  • Стабильная и предсказуемая работа с браузером Chromium за счет отказа от рудиментов CEF и Firefox предыдущих версий.
  • Повышенная анонимность за счет нового подхода к эмуляции Chromium.
  • Улучшенная производительность работы с движком.
  • Новые стандарты кода .NET 6, C# 10.
  • Отзывчивый интерфейс, сохранивший преемственность с 7 версией программы.
  • Поддержка high DPI мониторов
  • Открытый API для создания своих кубиков с возможностью их продажи.
 

Вложения

  • Спасибо
Реакции: dtk77

SlipDez

Client
Регистрация
18.07.2018
Сообщения
379
Благодарностей
70
Баллы
28
108862

108863

Подскажите как решить? Пытаюсь подключить к VS 2022 (это возможно или лучше откатиться на 2020?)
Версия ZP 7.7.3.0

26.06.2023 13:43:35 - Microsoft VSIX Installer
26.06.2023 13:43:35 - -------------------------------------------
26.06.2023 13:43:35 - vsixinstaller.exe version:
26.06.2023 13:43:35 - 17.6.2164+g40888c9894
26.06.2023 13:43:35 - -------------------------------------------
26.06.2023 13:43:35 - Command line parameters:
26.06.2023 13:43:35 - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,/skuName:Community,/skuVersion:17.5.33627.172,C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.7.3.0\Progs\VsExt\ZennoPosterVisualStudioExtension2022.vsix
26.06.2023 13:43:35 - -------------------------------------------
26.06.2023 13:43:35 - Microsoft VSIX Installer
26.06.2023 13:43:35 - -------------------------------------------
26.06.2023 13:43:35 - Skipping product Microsoft.VisualStudio.Product.BuildTools (8f2e5d77) since it does not support extensions
26.06.2023 13:43:35 - Initializing Install...
26.06.2023 13:43:35 - System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в VSIXInstaller.ExtensionEngineFactoryForSku.GetEngineAssembly(SupportedVSSKU sku)
в VSIXInstaller.ExtensionEngineFactoryForSku.GetTypeFromEngine[TInterface](SupportedVSSKU sku, String typeName, Object[] constructorArguments)
в VSIXInstaller.ExtensionService.GetInstallableDataImpl(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
в VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData)
в VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
в VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
в VSIXInstaller.App.Initialize(Boolean isRepairSupported)
в VSIXInstaller.App.Initialize()
в System.Threading.Tasks.Task`1.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
 
Последнее редактирование:

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63
Подскажите как решить? Пытаюсь подключить к VS 2022 (это возможно или лучше откатиться на 2020?)
Использовать VS 2022 + ZP 7.7.1.0+ Перезагрузить ПК, запустить PM с правами админа.
 
  • Спасибо
Реакции: SlipDez

SlipDez

Client
Регистрация
18.07.2018
Сообщения
379
Благодарностей
70
Баллы
28

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
734
Благодарностей
485
Баллы
63

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)