AppBuilderKit 8.6.5

There is a newer version of this package available.
See the version list below for details.
dotnet add package AppBuilderKit --version 8.6.5
                    
NuGet\Install-Package AppBuilderKit -Version 8.6.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AppBuilderKit" Version="8.6.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AppBuilderKit" Version="8.6.5" />
                    
Directory.Packages.props
<PackageReference Include="AppBuilderKit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AppBuilderKit --version 8.6.5
                    
#r "nuget: AppBuilderKit, 8.6.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AppBuilderKit@8.6.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AppBuilderKit&version=8.6.5
                    
Install as a Cake Addin
#tool nuget:?package=AppBuilderKit&version=8.6.5
                    
Install as a Cake Tool

AppBuilderKit

Fluent-конструктор полноценных CRUD-приложений на WinForms + EF Core.
Полное CRUD-приложение за 15 строк кода.

Установка

dotnet add package AppBuilder

Проблема

Создание типового WinForms-приложения с таблицами, меню, поиском, экспортом и статистикой обычно требует 500+ строк кода: ручная настройка DataGridView, диалоги добавления/редактирования, обработчики кнопок, привязка данных, меню, строка состояния...

С AppBuilderKit то же самое занимает 15 строк.

Быстрый старт

using AppBuilder;

App.Create<MyDbContext>("Служба занятости")
   .WithMenu()
   .WithDashboard(db => new[] {
       ("Вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
       ("Соискателей", (object)db.Applicants.Count(), Color.FromArgb(46,204,113)),
       ("Предприятий", (object)db.Enterprises.Count(), Color.FromArgb(155,89,182))
   })
   .AddTab<Vacancy>("Вакансии")
   .AddTab<Applicant>("Соискатели")
   .AddTab<Enterprise>("Предприятия")
   .WithExport()
   .WithSearch()
   .WithStatusBar()
   .Size(1200, 750)
   .Run();

Это весь код. Приложение готово: окно с вкладками, таблицами, кнопками CRUD, поиском, экспортом, меню и дашбордом.

API-справочник

App.Create<TContext>(title)

Создает приложение с указанным DbContext и заголовком окна.

App.Create<MyDbContext>("Служба занятости")

.WithMenu()

Добавляет стандартное меню: Файл (Экспорт, Импорт, Выход), Справка (О программе).

.WithDashboard(func)

Добавляет панель с цветными карточками статистики. Функция принимает DbContext и возвращает массив кортежей (название, значение, цвет).

.WithDashboard(db => new[] {
    ("Всего вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
    ("Открытых", (object)db.Vacancies.Count(v => v.IsActive), Color.FromArgb(46,204,113))
})

.AddTab<T>(name)

Добавляет вкладку с таблицей для сущности T. Автоматически создает:

  • DataGridView с данными из БД
  • Кнопки "Добавить", "Редактировать", "Удалить"
  • Диалоги ввода, сгенерированные через Reflection по свойствам модели
.AddTab<Vacancy>("Вакансии")
.AddTab<Applicant>("Соискатели")

.WithExport()

Добавляет кнопки экспорта и импорта данных на каждую вкладку.

.WithSearch()

Добавляет панель поиска на каждую вкладку. Поиск работает по всем столбцам таблицы.

.WithStatusBar()

Добавляет строку состояния внизу окна: текущее время и количество записей в активной вкладке.

.Size(width, height)

Устанавливает размер окна приложения в пикселях.

.Size(1200, 750)

.Run()

Запускает приложение (вызывает Application.Run).

Пример: Информационная система "Служба занятости"

using AppBuilder;
using Microsoft.EntityFrameworkCore;

// DbContext
public class EmploymentDb : DbContext
{
    public DbSet<Vacancy> Vacancies { get; set; }
    public DbSet<Applicant> Applicants { get; set; }
    public DbSet<Enterprise> Enterprises { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
        => options.UseSqlServer("Server=.;Database=Employment;Trusted_Connection=true;TrustServerCertificate=true");
}

// Запуск приложения — 15 строк
App.Create<EmploymentDb>("ИС Служба занятости")
   .WithMenu()
   .WithDashboard(db => new[] {
       ("Вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
       ("Соискателей", (object)db.Applicants.Count(), Color.FromArgb(46,204,113)),
       ("Предприятий", (object)db.Enterprises.Count(), Color.FromArgb(155,89,182))
   })
   .AddTab<Vacancy>("Вакансии")
   .AddTab<Applicant>("Соискатели")
   .AddTab<Enterprise>("Предприятия")
   .WithExport()
   .WithSearch()
   .WithStatusBar()
   .Size(1200, 750)
   .Run();

Что генерируется автоматически

  • Диалоги добавления и редактирования по свойствам модели (Reflection)
  • Привязка данных к DataGridView через EF Core
  • Обработчики кнопок CRUD (добавление, редактирование, удаление с подтверждением)
  • Меню с экспортом/импортом
  • Поиск по всем столбцам

Лицензия

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AppBuilderKit:

Package Downloads
ISBuilder

Information System Builder — full toolkit for building .NET 8 WinForms applications with EF Core, SQL Server. Export, CRUD, forms, charts, auth, reports, validation, themes.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.7.0 115 4/12/2026
8.6.9 104 4/12/2026
8.6.7 102 4/12/2026
8.6.6 99 4/12/2026
8.6.5 105 4/12/2026
8.6.4 93 4/12/2026
8.6.3 92 4/12/2026