Winerr.NET
Дополнительные действия
Логотип
|
|
| Автор | DimaYastrebov |
|---|---|
| Первая версия | 0.9.8.389 (12 сентября 2025) |
| Последняя версия | 1.1.0 (30 сентября 2025) |
| Язык | C#, TypeScript (React) |
| Лицензия | ISC |
| Сайт | GitHub Официальный WebUI |
Winerr.NET — это генератор смешных ошибок на C# (.NET) от DimaYastrebov, который позволяет создавать реалистичные изображения фейковых окон ошибок.
Проект решает ту же задачу, что и Winerr от Shikoshib, но написан полностью с нуля на других технологиях и не является его прямым наследником.
Поддерживает на текущий момент исключительно Windows 7 Basic/Aero + 9 тем для Aero (Architecture, Landscapes, Nature, Scenes, Ruby, Gold, Onyx, Emerald и Sea)
Состав проекта
Проект имеет модульную структуру, что позволяет использовать его компоненты как вместе, так и по отдельности.
Winerr.NET.Core- Сердце проекта. Это основная библиотека, в которой реализована вся логика по отрисовке окон: работа со шрифтами, построение рамок, расстановка кнопок и иконок.
Winerr.NET.Cli- Утилита для работы через командную строку (терминал). Позволяет генерировать ошибки с помощью текстовых команд, что удобно для автоматизации и скриптов.
Winerr.NET.WebServer- Локальный веб-сервер, который предоставляет API для доступа к генератору по сети. Используется веб-интерфейсом для выполнения всех операций.
Winerr.NET.WebUI- Веб-интерфейс, написанный на Next.js. Предоставляет удобный графический интерфейс в браузере для создания фейковых окон ошибок.
История разработки
История разработки велась поэтапно, от простого консольного инструмента к полноценному веб-приложению.
Первый публичный релиз, версия 0.9.8.389 (12 сентября 2025), включал в себя базовый функционал: ядро для рендеринга (Winerr.NET.Core) и утилиту командной строки (Winerr.NET.Cli).
С выходом версии 0.10.0 (18 сентября 2025) был добавлен веб-сервер (Winerr.NET.WebServer), что позволило работать с генератором по сети через API.
Начиная с версии 1.0.0 (22 сентября 2025), проект обзавелся полноценным веб-интерфейсом (Winerr.NET.WebUI), который сделал процесс создания ошибок визуальным и доступным для широкого круга пользователей.
Последние изменения
1.1.1 - 2025-09-30
Добавлено (Added)
- WebUI: Добавлена кнопка-ссылка на GitHub-репозиторий в панель предпросмотра для быстрого доступа к исходному коду.
Исправлено (Fixed)
- Core: Исправлен критический сбой (`ArgumentOutOfRangeException`), возникавший при генерации изображения с очень маленьким значением `maxWidth`. Проблема была вызвана тем, что расчетная ширина контента могла стать отрицательной или нулевой, что недопустимо для конструктора изображений. (#3)
Компоненты (Components)
Winerr.NET.Core: v0.12.1.448Winerr.NET.WebServer: v0.5.2.93Winerr.NET.Cli: v0.4.8.135Winerr.NET.Assets: v0.7.0.184
Использование
Существует три основных способа работы с Winerr.NET.
Веб-интерфейс

Это самый простой способ для большинства пользователей. Веб-интерфейс проекта (Winerr.NET.WebUI) предоставляет следующие возможности:
- Создание ошибок в одиночном и пакетном (batch) режимах.
- Конструктор кнопок с возможностью ручной сортировки.
- Предпросмотр результата в реальном времени.
- Импорт и экспорт конфигураций в формате JSON.
Официально развернутый веб-интерфейс доступен по адресу: https://winerr-net.yastre.top/.
Утилита командной строки (CLI)
Для генерации изображения используется команда `generate` с набором параметров. Это полезно для быстрой генерации или для использования в скриптах.
Windows (cmd / PowerShell)
Winerr.NET.Cli.exe generate --style "Win7_Aero" --title "Пример" --content "Текст\nошибки" --icon 48 --output "example.png"
Linux / macOS
./Winerr.NET.Cli generate --style "Win7_Aero" --title "Пример" --content "Текст\nошибки" --icon 48 --output "example.png"
Для получения полного списка доступных стилей можно использовать команду:
# Для Windows
Winerr.NET.Cli.exe list-styles
# Для Linux / macOS
./Winerr.NET.Cli list-styles
Использование в качестве библиотеки
Библиотеку Winerr.NET.Core можно подключить к любому .NET-проекту для программной генерации ошибок.
Winerr.NET.Core напрямую зависит от Winerr.NET.Assets. Для корректной работы необходимо, чтобы оба файла (Winerr.NET.Core.dll и Winerr.NET.Assets.dll) находились в директории с твоим приложением.
Процесс сводится к созданию объекта конфигурации ErrorConfig, настройке всех параметров (стиль, текст, иконки) и вызову метода Generate у класса ErrorRenderer.
Пример на C#
using Winerr.NET.Core.Configs;
using Winerr.NET.Core.Enums;
using Winerr.NET.Core.Renderers;
// Обязательно нужно один раз загрузить ассеты при старте приложения
Winerr.NET.Core.Managers.AssetManager.Instance.LoadAssets();
// 1. Создание конфигурации окна
var config = new ErrorConfig
{
// Выбираем стиль окна
SystemStyle = SystemStyle.Windows7Aero,
// Задаем текст
Title = "Пример из кода",
Content = "Это окно было сгенерировано\nпрограммно с помощью Winerr.NET.Core.",
// Указываем ID иконки
IconId = 48,
// Настраиваем кнопки
Buttons = new List<ButtonConfig>
{
new ButtonConfig
{
Text = "OK",
Type = ButtonType.Recommended,
TextConfig = new TextRenderConfig { DrawMnemonic = false }
},
new ButtonConfig
{
Text = "Отмена",
Type = ButtonType.Default
}
},
// Другие параметры
ButtonAlignment = ButtonAlignment.Right,
IsCrossEnabled = true
};
// 2. Создание рендерера и генерация изображения
var renderer = new ErrorRenderer();
using var image = renderer.Generate(config);
// 3. Сохранение результата в файл
image.SaveAsPng("error_from_code.png");
