# StandardProducts — desktop-приложение (C# / .NET 8 / WPF) Каталог стандартных изделий для Windows 11: таблицы ГОСТ, поиск, импорт/экспорт JSON. Хранилище — SQLite, та же схема, что в Python-версии проекта. ## Требования - Windows 10/11 (для запуска) - .NET SDK 8.0+ (для сборки) - Visual Studio 2022 не обязательна: достаточно `dotnet` CLI ## Сборка и запуск ```bash cd dotnet dotnet build dotnet run --project src/StandardProducts.App ``` ## Публикация Self-contained один файл (не требует .NET у пользователя): ```bash dotnet publish src/StandardProducts.App \ -c Release -r win-x64 --self-contained true \ -p:PublishSingleFile=true \ -o publish ``` Результат — `dotnet/publish/StandardProducts.exe` (~150 МБ, включает WPF и SQLite). Для MSIX используйте Windows Application Packaging Project или `MakeAppx`; для внутреннего распространения достаточно exe. ## Возможности - таблица изделий с поиском по обозначению, наименованию, стандарту и атрибутам; - загрузка семейства болтов ГОСТ 7805-70 (5 размеров × 9 длин = 45 изделий); - импорт/экспорт JSON (формат совместим с Python-версией); - удаление изделий, просмотр атрибутов выбранной позиции; - регистронезависимый поиск по кириллице (SQLite-функция `ulower`). База создаётся автоматически: `%LOCALAPPDATA%\StandardProducts\catalog.db`. ## Структура ``` dotnet/ StandardProducts.sln src/StandardProducts.Core/ # модели, SQLite, ГОСТ 7805-70, JSON — net8.0 src/StandardProducts.App/ # WPF-интерфейс — net8.0-windows tests/StandardProducts.Core.Tests/ # xunit ``` Ядро (`Core`) не зависит от WPF и собирается/тестируется на любой ОС: ```bash dotnet test tests/StandardProducts.Core.Tests ``` ## 3D / STEP В текущей версии не реализованы и не нужны. Если появятся: отдельная нативная библиотека на OpenCASCADE (C++), вызываемая из C# через P/Invoke/C++/CLI; UI и каталог при этом не меняются.