- Регистрация
- 28.10.2025
- Сообщения
- 762
- Реакции
- 337
- Баллы
- 63
CSharpCommonCode — это шаблон для ZennoPoster, который автоматически собирает C#-код из C#-проекта, созданного в Visual Studio или другой IDE, и формирует готовый блок для раздела «Общий код» ZennoPoster / ZennoDroid.
Разработка ведется как обычный C#-проект: с отдельными классами, папками и нормальной структурой проекта. После запуска шаблон автоматически объединяет код и создает готовый файл CommonCode.txt, который можно сразу вставить в «Общий код» ZennoPoster / ZennoDroid.
✔ собирает using без дубликатов
✔ переносит все классы в единый namespace ZennoLab.OwnCode
✔ исключает ненужные файлы и каталоги
✔ поддерживает выбор отдельных файлов и папок
✔ формирует итоговый файл CommonCode.txt
раздел «Общий код» становится слишком большим и неудобным
сложно поддерживать нормальную структуру проекта
неудобно создавать и переиспользовать классы
поиск и исправление ошибок занимает больше времени
код становится сложнее поддерживать и обновлять
CSharpCommonCode решает эту проблему и позволяет использовать привычный подход к разработке:
Visual Studio → C#-проект → автоматическая сборка → ZennoPoster
для обновления .dll необходимо полностью закрывать ProjectMaker
при распространении шаблона нужно отдельно передавать библиотеки
необходимо контролировать наличие DLL в ExternalAssemblies
усложняется перенос проекта между устройствами
поддержка и обновление шаблонов становится менее удобной
CSharpCommonCode позволяет уменьшить необходимость использования DLL и перенести логику С#-проекта непосредственно в «Общий код».
Преимущества такого подхода:
✔ общий код можно обновлять без перезапуска ProjectMaker
✔ не требуется отдельно защищать свои библиотеки — код шифруется вместе с шаблоном средствами ZennoPoster
✔ при отсутствии сторонних библиотек достаточно передать только шаблон
✔ уменьшается зависимость от GAC и ExternalAssemblies
✔ сохраняется нормальная структура C#-проекта
✔ не нужно отдельно думать о защите и шифровании своих C#-библиотек
✔ код проще поддерживать и обновлять
✔ при отсутствии сторонних библиотек достаточно передать только шаблон
✔ уменьшается необходимость использования GAC и ExternalAssemblies
Игнор-лист — позволяет исключить из обработки отдельные .cs-файлы или папки со всеми файлами внутри.
Целевая выгрузка — позволяет собрать общий код только для определенных .cs-файлов или папок со всеми файлами внутри.
По умолчанию автоматически исключаются каталоги и файлы проекта:
В результате вы получаете возможность писать код как обычный C#-проект и автоматически подготавливать его для использования в ZennoPoster / ZennoDroid.
К статье приложены исходный код проекта для Visual Studio и шаблон ZennoPoster с полностью открытым кодом.
Разработка ведется как обычный 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
Как использовать
- Укажите путь к директории C#-проекта
- При необходимости настройте фильтры
- Запустите шаблон
- После выполнения будет создан файл CommonCode.txt
- Вставьте содержимое файла в раздел «Общий код» ZennoPoster / ZennoDroid
Фильтрация
Шаблон поддерживает два типа фильтров:Игнор-лист — позволяет исключить из обработки отдельные .cs-файлы или папки со всеми файлами внутри.
Целевая выгрузка — позволяет собрать общий код только для определенных .cs-файлов или папок со всеми файлами внутри.
По умолчанию автоматически исключаются каталоги и файлы проекта:
- bin
- obj
- Properties
- Program.cs
В результате вы получаете возможность писать код как обычный C#-проект и автоматически подготавливать его для использования в ZennoPoster / ZennoDroid.
К статье приложены исходный код проекта для Visual Studio и шаблон ZennoPoster с полностью открытым кодом.
Вложения
Последнее редактирование:



