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

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Но мне бы хотелось реализовать, все следующим образом:
1. Распределить обрабатываемую информацию на сущности. Т.е. сущность отдельный класс и свои методы. Такой "своеобразный общий код" многофайловый получается. Я думаю при такой организации мне будет легче ориентироваться в коде.
2. Логику операций с методами сущности хочу положить в кубики - так проще дебажить и отслеживать, что получается в итоге.
3. Потом я хочу чтобы не захламлять => каждый класс в отдельные файлы положить (см. 1 пункт).
4. Потом очень хочется реализовать полиморфизм. Например есть общий класс назовем его "Класс-запрос-общий", а есть класс профильный запрос по смыслу, назовем его "Класс запрос сообщений". Из класса запрос профильный ("Класс запрос сообщений"), я хочу через полиморфизм запускать методы общего так скажем класса ("Класс-запрос-общий"). - чтобы опять же не хламить методы, не повторять. Т.е. по факту я хочу из простых методов лепить специализированные при этом.
Например метод: "ожидания подгрузки элемента" - он есть при каждом взятии HtmlElement, соответственно зачем мне везде циклы писать, я один общий цикл напишу: сперва топорно с одинаковым интервалом запроса (проверки на is.Void), а потом на более умный перепишу - например со сдвигом интервала (по моим правилам). И для реализации "переписывания" общего метода ожидания элемента мне не будет смысла переписывать все методы, я перепишу один - а все остальные его подхватят (по смыслу конечно).
5. Имеется ли какая-либо возможность перемещать данные из кубика в кубик без project.Context ? Вот с использование такого общего кода?
Записал дополнение к статье с ответами на часть ваших вопросов
 
  • Thank you
Reactions: lamar015

Konrod_m

Client
Joined
Sep 18, 2014
Messages
1,764
Reaction score
974
Points
113
Добрый день.

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

101432


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

Kulya

Client
Joined
Sep 11, 2016
Messages
180
Reaction score
48
Points
28

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
На первый вопрос уже ответили

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
 
  • Thank you
Reactions: Konrod_m

bigloafer

Client
Joined
Jul 23, 2020
Messages
244
Reaction score
76
Points
28
Если код в Program.cs не видит классы в Общем коде ZP - это разные пространства имен?

Not wiev.png
 
Last edited:

Kulya

Client
Joined
Sep 11, 2016
Messages
180
Reaction score
48
Points
28
Если код в Program.cs не видит классы в Общем коде ZP - это разные пространства имен?
VS не видит в общем коде.

Переноси все в VS
 
  • Thank you
Reactions: Dmitriy Ka

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Если код в Program.cs не видит классы в Общем коде ZP - это разные пространства имен?

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

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

Alex.A

Client
Joined
Nov 14, 2020
Messages
484
Reaction score
246
Points
43
Проголосовал!))
 
  • Thank you
Reactions: Dmitriy Ka

surf

Client
Joined
Apr 8, 2015
Messages
6
Reaction score
2
Points
3
Делал по вашему видео.

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

101588
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Делал по вашему видео.

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

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

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

surf

Client
Joined
Apr 8, 2015
Messages
6
Reaction score
2
Points
3
В чем конкретно проблема сказать не могу, с такой ошибкой не сталкивался.
- Какая версия VS и ZP?
- Когда создавали решение VS через кубик в PM, возникали какие ошибки?
- Пробовали все закрыть и создать новое решение VS через новый проект PM?

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

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

А вот в VS это:

101590
 

Phoenix78

Client
Read only
Joined
Nov 6, 2018
Messages
11,789
Reaction score
5,726
Points
113
Версия ZP 7.4
VS 2019
очень старая версия. они довольно много правили для работы с VS. тут только пробовать последние версии. 7.7.2 или 7.7.3
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Версия ZP 7.4
VS 2019
По хорошему это надо спросить разработчиков, они точно скажут что не так.

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


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

101593


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

surf

Client
Joined
Apr 8, 2015
Messages
6
Reaction score
2
Points
3
По хорошему это надо спросить разработчиков, они точно скажут что не так.

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

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

View attachment 101593

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

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

Спасибо все работает.
 

dtk77

Client
Joined
Jul 26, 2017
Messages
24
Reaction score
5
Points
3
Не получается через кубик создать проект VS. После нажатия иконки "создать проект VS",
выскакивает ошибка в ZP "Call was rejected by callee (RPC_E_CALL_REJECTED)"
сразу на этом моменте. В оф. описании есть это упоминание, но что делать с этим?

1672246419187.png

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

Azakim

Client
Joined
Jul 25, 2021
Messages
165
Reaction score
31
Points
28
Спасибо за статью! Получается VS только для дебага ,я думал что можно как-то склеить проект VS и ZP ,что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
 

Phoenix78

Client
Read only
Joined
Nov 6, 2018
Messages
11,789
Reaction score
5,726
Points
113
Спасибо за статью! Получается VS только для дебага ,я думал что можно как-то склеить проект VS и ZP ,что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
задумка была именно такой... но реальность увы и ах.... пока что приходиться заниматься вот таким извратом, запуск прямо кубика VS в проекте, не приводит ни к чему хорошему.
 
  • Thank you
Reactions: Azakim

Azakim

Client
Joined
Jul 25, 2021
Messages
165
Reaction score
31
Points
28
задумка была именно такой... но реальность увы и ах.... пока что приходиться заниматься вот таким извратом, запуск прямо кубика VS в проекте, не приводит ни к чему хорошему.
Жаль конечно очень(
 
Last edited:

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
что бы получить доступ к новым библиотекам например или так и можно если да то вот тут бы поподробней:-)
Не совсем понял, мысль "получить доступ к новым библиотекам", в ZP можно же подключать библиотеки, а через VS можно писать свои библиотеки для ZP, про это второе видео.
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Не получается через кубик создать проект VS. После нажатия иконки "создать проект VS",
выскакивает ошибка в ZP "Call was rejected by callee (RPC_E_CALL_REJECTED)"
сразу на этом моменте. В оф. описании есть это упоминание, но что делать с этим?

View attachment 101783

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


101795

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

Kulya

Client
Joined
Sep 11, 2016
Messages
180
Reaction score
48
Points
28
1) Попробуйте запустить ProjectMaker от Админа (а вдруг поможет)
2) Проверьте установки и компоненты VS, важно чтобы был установлен .NET Framework 4.6.2

Если это не поможет, нужно писать в поддержку ZennoLab
Не все либы работают в ZP так как там только 4.6.2 поддерживается. Уже пару раз наступал на грабли, когда в VS все четко, а в зенке не заводится
 

Iryna

Client
Joined
Sep 6, 2022
Messages
22
Reaction score
10
Points
3
Спасибо за статью!
 

dtk77

Client
Joined
Jul 26, 2017
Messages
24
Reaction score
5
Points
3
1) Попробуйте запустить ProjectMaker от Админа (а вдруг поможет)
2) Проверьте установки и компоненты VS, важно чтобы был установлен .NET Framework 4.6.2...
Незавелось. Буду признателен, если выложите базовый шаблон решения VS созданный зенкой.
 

dtk77

Client
Joined
Jul 26, 2017
Messages
24
Reaction score
5
Points
3
Не все либы работают в ZP так как там только 4.6.2 поддерживается. Уже пару раз наступал на грабли, когда в VS все четко, а в зенке не заводится
Я правильно понял, что создавая dll под ZP использовать framework 4.6.2, все что версиями выше в том, числе Net 6 не поддерживается?
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Незавелось. Буду признателен, если выложите базовый шаблон решения 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 для создания своих кубиков с возможностью их продажи.
 

Attachments

  • Thank you
Reactions: dtk77

SlipDez

Client
Joined
Jul 18, 2018
Messages
453
Reaction score
88
Points
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()
 
Last edited:

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93
Подскажите как решить? Пытаюсь подключить к VS 2022 (это возможно или лучше откатиться на 2020?)
Использовать VS 2022 + ZP 7.7.1.0+ Перезагрузить ПК, запустить PM с правами админа.
 
  • Thank you
Reactions: SlipDez

SlipDez

Client
Joined
Jul 18, 2018
Messages
453
Reaction score
88
Points
28
Использовать VS 2022 + ZP 7.7.1.0+ Перезагрузить ПК, запустить PM с правами админа.
108864




Перезагрузил ПК => Запустил ПМ с правами администратора

не помогло
108865

108866
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
821
Reaction score
567
Points
93

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)