2.6 KiB
2.6 KiB
StandardProducts — desktop-приложение (C# / .NET 8 / WPF)
Каталог стандартных изделий для Windows 11: таблицы ГОСТ, поиск, импорт/экспорт JSON. Хранилище — SQLite, та же схема, что в Python-версии проекта.
Требования
- Windows 10/11 (для запуска)
- .NET SDK 8.0+ (для сборки)
- Visual Studio 2022 не обязательна: достаточно
dotnetCLI
Сборка и запуск
cd dotnet
dotnet build
dotnet run --project src/StandardProducts.App
Публикация
Self-contained один файл (не требует .NET у пользователя):
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 и собирается/тестируется на любой ОС:
dotnet test tests/StandardProducts.Core.Tests
3D / STEP
В текущей версии не реализованы и не нужны. Если появятся: отдельная нативная библиотека на OpenCASCADE (C++), вызываемая из C# через P/Invoke/C++/CLI; UI и каталог при этом не меняются.