CSharpCommonCode — автоматическая сборка общего C#-кода для ZennoPoster / ZennoDroid

Dmitriy_Zenno

Administrator
Регистрация
28.10.2025
Сообщения
762
Реакции
337
Баллы
63
CSharpCommonCode — это шаблон для ZennoPoster, который автоматически собирает C#-код из C#-проекта, созданного в Visual Studio или другой IDE, и формирует готовый блок для раздела «Общий код» ZennoPoster / ZennoDroid.

Разработка ведется как обычный C#-проект: с отдельными классами, папками и нормальной структурой проекта. После запуска шаблон автоматически объединяет код и создает готовый файл CommonCode.txt, который можно сразу вставить в «Общий код» ZennoPoster / ZennoDroid.



Что делает шаблон​

✔ находит .cs-файлы проекта
✔ собирает using без дубликатов
✔ переносит все классы в единый namespace ZennoLab.OwnCode
✔ исключает ненужные файлы и каталоги
✔ поддерживает выбор отдельных файлов и папок
✔ формирует итоговый файл CommonCode.txt



Проблемы работы с «Общим кодом»​

При работе с большими C#-проектами в ZennoPoster со временем появляются типовые сложности:

❌ раздел «Общий код» становится слишком большим и неудобным
❌ сложно поддерживать нормальную структуру проекта
❌ неудобно создавать и переиспользовать классы
❌ поиск и исправление ошибок занимает больше времени
❌ код становится сложнее поддерживать и обновлять

CSharpCommonCode решает эту проблему и позволяет использовать привычный подход к разработке:
Visual Studio → C#-проект → автоматическая сборка → ZennoPoster

Проблемы работы со своими DLL через GAC​

При использовании собственных библиотек в ZennoPoster также возникают дополнительные неудобства:

❌ для обновления .dll необходимо полностью закрывать ProjectMaker
❌ при распространении шаблона нужно отдельно передавать библиотеки
❌ необходимо контролировать наличие DLL в ExternalAssemblies
❌ усложняется перенос проекта между устройствами
❌ поддержка и обновление шаблонов становится менее удобной

CSharpCommonCode позволяет уменьшить необходимость использования DLL и перенести логику С#-проекта непосредственно в «Общий код».

Преимущества такого подхода:
✔ общий код можно обновлять без перезапуска ProjectMaker
✔ не требуется отдельно защищать свои библиотеки — код шифруется вместе с шаблоном средствами ZennoPoster
✔ при отсутствии сторонних библиотек достаточно передать только шаблон
✔ уменьшается зависимость от GAC и ExternalAssemblies



Преимущества шаблона​

✔ не нужно вручную собирать общий код
✔ сохраняется нормальная структура C#-проекта
✔ не нужно отдельно думать о защите и шифровании своих C#-библиотек
✔ код проще поддерживать и обновлять
✔ при отсутствии сторонних библиотек достаточно передать только шаблон
✔ уменьшается необходимость использования GAC и ExternalAssemblies



Как использовать​

  1. Укажите путь к директории C#-проекта
  2. При необходимости настройте фильтры
  3. Запустите шаблон
  4. После выполнения будет создан файл CommonCode.txt
  5. Вставьте содержимое файла в раздел «Общий код» ZennoPoster / ZennoDroid
1779356855326.png

Фильтрация​

Шаблон поддерживает два типа фильтров:

Игнор-лист — позволяет исключить из обработки отдельные .cs-файлы или папки со всеми файлами внутри.
Целевая выгрузка — позволяет собрать общий код только для определенных .cs-файлов или папок со всеми файлами внутри.

По умолчанию автоматически исключаются каталоги и файлы проекта:
  • bin
  • obj
  • Properties
  • Program.cs


В результате вы получаете возможность писать код как обычный C#-проект и автоматически подготавливать его для использования в ZennoPoster / ZennoDroid.
К статье приложены исходный код проекта для Visual Studio и шаблон ZennoPoster с полностью открытым кодом.
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Sergodjan и Oleg1987

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