В Visual Studio НЕ передаются Keys `project.Variables.Keys`

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43
Привет.
Зенка 7.7.3.0, подключил проект к VisualStudio, переменные доступны, а вот project.Variables.Keys почему-то null.

Переменная есть, и её значение тоже
C#:
project.SendInfoToLog(project.Variables["Login"].Value);
Падает с ошибкой в обоих случаях
C#:
if (project.Variables.Keys.Contains("Login"))
{
                
}

foreach (var item in project.Variables.Keys)
{

}
Проверяю Keys а он null
C#:
if (project?.Variables?.Keys != null)
{
    project.SendInfoToLog("Keys НЕ NULL");
}
else
{
    project.SendInfoToLog("Keys NULL");
}
Кто-то сталкивался?
Это баг? Или опять особенность?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
Проверил, у меня тоже null в VS
 
  • Спасибо
Реакции: ZSharp

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 315
Благодарностей
869
Баллы
113
Надо было создать переменные в проекте и я был послан нахер с тремя днями работы.... По итогу забил на проекты в студии...
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43
По итогу забил на проекты в студии...
Это уже 4-й раз, как я пытаюсь начать работать через VisualStudio.
Опять день потерян, и всё время находятся какие-то детские но фундаментальные проблемы.

Документация вот так хвалит эту возможность
Экшен “Проект Visual Studio” позволяет использовать в проекте ZennoPoster проект созданный в среде Microsoft Visual Studio 2019 и тем самым открывает неограниченные возможности для написания, отладки кода и подключения внешних библиотек.
Невозможно даже проверить существование переменной - это конечно "неограниченные возможности".

Получается что Экшен “Проект Visual Studio” просто красивая реклама, а на самом деле тестировать эти объекты никак не возможно.
Если даже объект project не полон, то что говорить о instance.

Не все объекты передаются в VS.
Очень странно.
Вообще стоит ждать обновления плагина, который все объекты будет передавать?
И сколько вообще пользователей используют плагин ZennoPosterToolWindow?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Это уже 4-й раз, как я пытаюсь начать работать через VisualStudio.
Опять день потерян, и всё время находятся какие-то детские но фундаментальные проблемы.

Документация вот так хвалит эту возможность

Невозможно даже проверить существование переменной - это конечно "неограниченные возможности".

Получается что Экшен “Проект Visual Studio” просто красивая реклама, а на самом деле тестировать эти объекты никак не возможно.
Если даже объект project не полон, то что говорить о instance.


Очень странно.
Вообще стоит ждать обновления плагина, который все объекты будет передавать?
И сколько вообще пользователей используют плагин ZennoPosterToolWindow?
Постоянно в студии проекты пишу, проблем нет, не в зенке же их писать ) единственное что некоторые моменты приходится реализовывать самому с нуля.
 
  • Спасибо
Реакции: Dmitriy Ka

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43
Постоянно в студии проекты пишу, проблем нет, не в зенке же их писать ) единственное что некоторые моменты приходится реализовывать самому с нуля.
Через плагин? Полноценный проект? Полностью проект отрабатывает в VS как в зенке?
Или тестирование кубика в 5 строк как вот здесь? https://zennolab.com/discussion/threads/visual-studio-projectmaker-zagotovka-vs-dlja-raboty-s-proektami-zp.108665/

Я тоже в студии пишу, но с заглушками от project, когда работает в VS.
Всё ничего пока не нужен браузер. Если бы не браузер, то нафиг и нужно это подключение.
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Через плагин? Полноценный проект? Полностью проект отрабатывает в VS как в зенке?
Или тестирование кубика в 5 строк как вот здесь? https://zennolab.com/discussion/threads/visual-studio-projectmaker-zagotovka-vs-dlja-raboty-s-proektami-zp.108665/

Я тоже в студии пишу, но с заглушками от project, когда работает в VS.
Всё ничего пока не нужен браузер. Если бы не браузер, то нафиг и нужно это подключение.
Полностью в vs, с с пространствами имён, десятками классов и сотнями методов, все это дело упаковано в dll (не средствами зенки) и в ПМ у меня 1 кубик с этой dll и все. Единственная проблема, это остановить такой проект во время выполнения в зенопостере, т.к зенка не может остановиться пока кубик не выполнит, а там весь проект это 1 кубик, над этим я ещё думаю)
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 315
Благодарностей
869
Баллы
113
Sherminator
Без обид, но я уже почти не реагирую на сообщения "я работаю и у меня все ок". Тут 90% работают в 3 кубика и пишут что все у них работает. Ну вот тебе пример в 1 строчку кода который не работает.
Давай ради интереса, посмотри содержимое и напиши здесь, что по твоему должно произойти. А потом добавь плагин, запусти main и main2. Спорим что неожиданно будет?)
 

Вложения

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

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Sherminator
Без обид, но я уже почти не реагирую на сообщения "я работаю и у меня все ок". Тут 90% работают в 3 кубика и пишут что все у них работает. Ну вот тебе пример в 1 строчку кода который не работает.
Давай ради интереса, посмотри содержимое и напиши здесь, что по твоему должно произойти. А потом добавь плагин, запусти main и main2. Спорим что неожиданно будет?)
Время будет гляну, заинтриговал )
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 315
Благодарностей
869
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43
Давай ради интереса, посмотри содержимое и напиши здесь, что по твоему должно произойти. А потом добавь плагин, запусти main и main2. Спорим что неожиданно будет?)
Ждал чего-то неожиданного :D
А так это эта же проблема детская, но фундаментальная.
Вот чтобы таких проблем не было, я пытался их искать не только через Keys, а пробовал project.Variables.Select(x => x.Key).ToList(), но и так не работает.
 

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
Похоже Вы плохо прочитали статью и не поняли главного смысла который там закладывался. А 5 строчек кода это пример, там может быть и 1000 строк кода.

Я уже больше полугода пишу код для проектов ZP только через VS и кайфую на сколько проще писать и дебажить код :-)
Если Вы пишите код для ZP через VS, у вас должен быть открыт и ZP и VS, чтобы можно было полноценно работать
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Похоже Вы плохо прочитали статью и не поняли главного смысла который там закладывался. А 5 строчек кода это пример, там может быть и 1000 строк кода.

Я уже больше полугода пишу код для проектов ZP только через VS и кайфую на сколько проще писать и дебажить код :-)
Если Вы пишите код для ZP через VS, у вас должен быть открыт и ZP и VS, чтобы можно было полноценно работать
А можно писать не открывая их вместе ?) Это что за мазахизм...
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
А можно писать не открывая их вместе ?) Это что за мазахизм...
Правильно... нафиг нам нужен этот постер... даешь разработку/отладку и запуск проектов в VS вообще без садомозопостера :D
 
  • Спасибо
Реакции: ZSharp

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
Sherminator
Без обид, но я уже почти не реагирую на сообщения "я работаю и у меня все ок". Тут 90% работают в 3 кубика и пишут что все у них работает. Ну вот тебе пример в 1 строчку кода который не работает.
Давай ради интереса, посмотри содержимое и напиши здесь, что по твоему должно произойти. А потом добавь плагин, запусти main и main2. Спорим что неожиданно будет?)
в main нет переменной TestVar получаем Exseption, в main2 есть переменная и ее данные выводятся в лог :-)
И что тут неожиданного, кроме того как тупо это все реализовано?:D
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Если пишем dll то можно, а если пишем код для кубиков C# то обязательно:-)
Понял, если я ничего не путаю то без запущенного ПМ не получится обратиться не к инстансу не к проджект
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 315
Благодарностей
869
Баллы
113
в main нет переменной TestVar получаем Exseption, в main2 есть переменная и ее данные выводятся в лог :-)
И что тут неожиданного, кроме того как тупо это все реализовано?:D
А может то, что переменная TestVar указана в плагине как принимающая настройки и должна в плагине обрабатываться как переменная из плагина а не из основного шаблона искать переменную? А может то что кубик
103538
выводит одно, а
C#:
project.SendInfoToLog($"Вывод из vs proj: {project.Variables["TestVar"].Value}", true);
другое?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Похоже Вы плохо прочитали статью и не поняли главного смысла который там закладывался. А 5 строчек кода это пример, там может быть и 1000 строк кода.

Я уже больше полугода пишу код для проектов ZP только через VS и кайфую на сколько проще писать и дебажить код :-)
Если Вы пишите код для ZP через VS, у вас должен быть открыт и ZP и VS, чтобы можно было полноценно работать
Почитал статью, бред полный
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
А может то, что переменная TestVar указана в плагине как принимающая настройки и должна в плагине обрабатываться как переменная из плагина а не из основного шаблона искать переменную? А может то что кубик
Посмотреть вложение 103538
выводит одно, а
C#:
project.SendInfoToLog($"Вывод из vs proj: {project.Variables["TestVar"].Value}", true);
другое?
А что код выводит? С телефона скомпилировать не получается ...
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
Понял, если я ничего не путаю то без запущенного ПМ не получится обратиться не к инстансу не к проджект
Можно, но их надо будет прокидывать, а если работаем в VS через метод Execute они уже прокинуты и мы можем к ним без проблем обращаться
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 302
Благодарностей
702
Баллы
113
Можно поподробней, в чем бред?
Вы же в курсе что в солюшене можно сколько угодно классов насоздавать понаписать в них сколько угодно методов и кода с использованием проджекта и инстанса и при этом из метода экзекьют при создании экземпляра класса передать в конструктор и проджект и инстанс и уже в своем самопальном классе и самопальных методах пользоваться и инстанслм и проджектом ?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
А может то, что переменная TestVar указана в плагине как принимающая настройки и должна в плагине обрабатываться как переменная из плагина а не из основного шаблона искать переменную? А может то что кубик
Посмотреть вложение 103538
выводит одно, а
C#:
project.SendInfoToLog($"Вывод из vs proj: {project.Variables["TestVar"].Value}", true);
другое?
Я с плагинами не работал и не знаю как они работают, но то что ошибки выдали результат который я ожидал, говорит о том что я правильно думаю :-)
 

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