Files
biblioteka-standartnyh-izdeliy/dotnet/README.md
T

2.6 KiB

StandardProducts — desktop-приложение (C# / .NET 8 / WPF)

Каталог стандартных изделий для Windows 11: таблицы ГОСТ, поиск, импорт/экспорт JSON. Хранилище — SQLite, та же схема, что в Python-версии проекта.

Требования

  • Windows 10/11 (для запуска)
  • .NET SDK 8.0+ (для сборки)
  • Visual Studio 2022 не обязательна: достаточно dotnet CLI

Сборка и запуск

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 и каталог при этом не меняются.