Tisa.BpmApp 2026.1.9.321

dotnet add package Tisa.BpmApp --version 2026.1.9.321
                    
NuGet\Install-Package Tisa.BpmApp -Version 2026.1.9.321
                    
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="Tisa.BpmApp" Version="2026.1.9.321" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tisa.BpmApp" Version="2026.1.9.321" />
                    
Directory.Packages.props
<PackageReference Include="Tisa.BpmApp" />
                    
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 Tisa.BpmApp --version 2026.1.9.321
                    
#r "nuget: Tisa.BpmApp, 2026.1.9.321"
                    
#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 Tisa.BpmApp@2026.1.9.321
                    
#: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=Tisa.BpmApp&version=2026.1.9.321
                    
Install as a Cake Addin
#tool nuget:?package=Tisa.BpmApp&version=2026.1.9.321
                    
Install as a Cake Tool

Tisa.BpmApp

NuGet Version License

Базовые классы и компоненты приложений ТИСА для работы с использованием .NET Core на платформе BPMSoft.

Описание

Tisa.BpmApp — NuGet-библиотека, предоставляющая набор Service Installers для быстрой настройки ASP.NET Core приложения на платформе BPMSoft: аутентификация (JWT + API-key), авторизация, логирование (Serilog), Mediator-пайплайн, OpenAPI-заголовки.

Основные возможности

  • Поддержка .NET 8.0, .NET 9.0 и .NET 10.0
  • Интеграция с платформой BPMSoft
  • Аутентификация по JWT и API-ключу
  • Авторизация с поддержкой расширенных политик
  • Валидация данных с использованием FluentValidation
  • Mediator-пайплайн (LoggingBehavior, ValidationBehavior)
  • Генерация OpenAPI-документации (NSwag)
  • Логирование через Serilog с маршрутизацией по токену

Требования

  • .NET 8.0 или выше
  • BPMSoft платформа

Установка

dotnet add package Tisa.BpmApp

Актуальный номер версии пакета смотрите на nuget.org/packages/Tisa.BpmApp.

В пакете в папке Docs/ поставляются App.config (полная конфигурация BPMSoft) и BPMSoft.WebHost.dll.config (минимально настроенная рабочая версия). Копирование BPMSoft.WebHost.dll.config в выходной каталог приложения (bin/...) обеспечивает транзитивная зависимость Tisa.BpmCore — подробнее см. документацию Tisa.BpmCore.

Требования для проектов, использующих пакет и для прямого создания UserConnection

В проектах, использующих пакет Tisa.BpmApp, и при необходимости прямого создания объекта UserConnection внутри приложения дополнительно необходимы:

Целевая платформа: при использовании класса UserConnection в проекте с данным пакетом указывайте целевую платформу .NET 8.0 — BPMSoft в настоящее время поддерживает только её.

1. Файл конфигурации ядра BPMSoft

Используйте файл Tisa.BpmApp/Docs/App.config: в нём приведена полная конфигурация (все типовые секции и настройки) — удобно как справочник и для переноса фрагментов в свой проект. Файл входит в пакет Tisa.BpmApp и должен быть подключён к проекту (например, как контент или копия в выходную директорию).

Для запуска приложения обычно используют BPMSoft.WebHost.dll.configминимально настроенная рабочая версия (см. раздел «Конфигурационные файлы в Docs» ниже); App.config не заменяет её автоматически, а дополняет документацией по полному составу настроек.

2. Ссылки на сборки платформы BPMSoft

Содержимое файла Tisa.BpmApp/Docs/BpmSoft.xml должно быть скопировано в проект (например, в .csproj в виде блока <ItemGroup> с <Reference>). Эти сборки не входят в NuGet-пакет вследствие лицензионных ограничений; пути HintPath нужно задать в соответствии с вашей установкой BPMSoft.

Список сборок BPMSoft для ссылок в проекте

  • Autofac
  • Autofac.Extensions.DependencyInjection
  • BPMSoft.Authentication
  • BPMSoft.Core.DI
  • BPMSoft.Core.DI.Bindings
  • BPMSoft.DB.PostgreSql
  • BPMSoft.Licensing.Application
  • BPMSoft.Messaging.Common
  • BPMSoft.Monitoring
  • BPMSoft.Redis
  • BPMSoft.Redis.Abstractions
  • BPMSoft.Redis.StackExchangeAdapters
  • BPMSoft.Security
  • BPMSoft.Store.WebAdapters
  • BPMSoft.Web.Http.Abstractions
  • BPMSoft.Web.Http.AspNetCore
  • BPMSoft.Webhooks
  • Ninject
  • Ninject.Extensions.Factory
  • StackExchange.Redis

Скопируйте блок <ItemGroup> с <Reference> из файла BpmSoft.xml в папке Docs пакета и при необходимости скорректируйте HintPath под вашу установку BPMSoft.

Конфигурационные файлы в Docs/

Файл Назначение
Docs/App.config Полная конфигурация BPMSoft — все основные секции; используйте как эталон и справочник при настройке.
Docs/BPMSoft.WebHost.dll.config Минимально настроенная рабочая версия: урезанный набор секций, достаточный для типового сценария. В пакете Tisa.BpmApp файл находится в Docs/; донастройка под окружение — по тем же правилам, что и для Tisa.BpmCore (строки подключения, ключи, Redis и т.д.).

Транзитивный пакет Tisa.BpmCore дополнительно доставляет BPMSoft.WebHost.dll.config в выходной каталог потребителя — см. Readme Tisa.BpmCore.

Использование

Регистрация сервисов

public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
    services.AddBpmApplication(configuration);
}

Метод AddBpmApplication автоматически регистрирует все Service Installers из сборки: API, аутентификацию, авторизацию, логирование, Mediator-пайплайн и middleware.

Зависимости

  • FluentValidation (>= 12.1.1)
  • Mediator.Abstractions (>= 3.0.1)
  • NSwag.Generation (>= 14.6.3)
  • Tisa.Authorization
  • Tisa.BpmCore

Структура проекта

  • Authentication/ — Аутентификация по API-ключу (ApikeyAuth)
  • Headers/ — OpenAPI-процессоры для кастомных заголовков
  • ServiceInstallers/ — Модульные инсталляторы сервисов:
    • Api/ — Настройка API и ApiBehaviorOptions
    • Authentication/ — JWT и API-key аутентификация, валидация токенов
    • Authorization/ — Авторизация и политики доступа
    • Common/ — Регистрация IBpmCoreService, настройка Email и Telegram
    • Logging/ — Конфигурация Serilog
    • Messaging/ — Mediator-пайплайн (LoggingBehavior, ValidationBehavior)
    • Middleware/ — Автосканирование и регистрация middleware

Условная компиляция

Символ AuthorizationExtended активирует расширенную авторизацию: политику AdminOnly, Scrutor-сканирование IAuthorizationPolicyProvider и IAuthorizationHandler из Tisa.Authorization. Для включения добавьте в csproj:

<DefineConstants>AuthorizationExtended</DefineConstants>

Лицензия

MIT License

Поддержка

По вопросам поддержки и сообщений об ошибках: support@tisn.ru

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos 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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.1.9.321 132 3/21/2026
2026.1.9.320 105 3/20/2026
2026.1.9.316 123 3/16/2026
2026.1.9.313 111 3/13/2026
2026.1.9.310 106 3/8/2026
2026.1.9.300 113 3/4/2026
2025.1.8.1120 377 11/17/2025
2025.1.8.1101 227 10/28/2025
2025.1.8.1100 213 10/28/2025
2025.1.7.410 266 4/9/2025
2025.1.7.400 345 4/8/2025 2025.1.7.400 is deprecated because it is no longer maintained.