KludgeBox 4.0.0
dotnet add package KludgeBox --version 4.0.0
NuGet\Install-Package KludgeBox -Version 4.0.0
<PackageReference Include="KludgeBox" Version="4.0.0" />
<PackageVersion Include="KludgeBox" Version="4.0.0" />
<PackageReference Include="KludgeBox" />
paket add KludgeBox --version 4.0.0
#r "nuget: KludgeBox, 4.0.0"
#:package KludgeBox@4.0.0
#addin nuget:?package=KludgeBox&version=4.0.0
#tool nuget:?package=KludgeBox&version=4.0.0
KludgeBox
Class library for gamedev in Godot/C#
Разработка
При разработке используется несколько подходов к доставке пакета в тестовое окружение:
- Локальный фид - для совсем уж трешовых изменений, экспериментов и тестов, которые скорее всего не пойдут в публичную версию
- nuget.org - для всего остального, просто не забудь выставить
PrereleaseFlagвKludgeBox.csproj
Локальный NuGet Feed
Как создать
Локальный фид - это просто папка. Создай папку в удобном месте и пропиши в терминал.
dotnet nuget add source "C:\Path\To\LocalNuGetFeed" --name LocalFeed
Можно в качестве KludgeBoxLocalFeed указать папку внутри этого проекта, куда происходит билд .nupkg файлов
Как публиковать пакеты в локальный фид
В Rider → Правой кнопкой по проекту
→ Advanced Build Actions
→ Pack Selected Project
→ В консоли Build Output будет путь к файлу .nupkg Successfully created package
→ Этот файл ручками переноси в папку локального фида
Можно билдить сразу в нужную папку: dotnet pack --output "C:\Path\To\LocalNuGetFeed" -p:IncludeSymbols=false -p:IncludeSource=false
Или находясь в другом проекте: dotnet pack "C:\Path\To\KludgeBox\KludgeBox\KludgeBox.csproj" --output "C:\Path\To\LocalNuGetFeed" -p:IncludeSymbols=false -p:IncludeSource=false
Опционально можно добавить в конец предыдущей команды для обновления кеша зависимого от KludgeBox проекта:
; Remove-Item -Path "$env:USERPROFILE\.nuget\packages\kludgebox" -Recurse -Force; dotnet restore --no-cache
Можно вызывать эту команду автоматически в зависимом KludgeBox проекте:
- Надо создать отдельную конфигурацию типа
Shell Script, выбрать форматScript Textи скопировать туда команду - Склонировать конфигурацию запуска проекта, в
Before LaunchнадBuild SolutionдобавитьRun another configurationи указать наш скрипт
Как найти локальные пакеты
В Rider
- NuGet Tool (по идее оно где-то внизу слева)
- Рядом со строкой поиска и Solution выбрать All feeds
- Начать искать пакет в поисковой строке по названию
- В правой части рядом с выбором версии в выпадающем списке вместо nuget.org выбираем LocalFeed (или что ты там указал после
--name) - Установи этот пакетище, бахнув на плюсик
Публикация в nuget.org
В Rider
- Правой кнопкой по проекту
- Advanced Build Actions
- Pack Selected Project
- В консоли Build Output будет путь к файлу .nupkg
Successfully created package, скопируй его - Возьми KludgeBox publishing API key из хранилища паролей
dotnet nuget push <Successfully created package.nupkg> --api-key <KludgeBox publishing API key> --source https://api.nuget.org/v3/index.json- Ошибку связанную с загрузкой .snupkg можно игнорировать, главное, чтобы в консоли было
Your package was pushed.
Тебе нужен именно файл .nupkg.
.snupkg - файл с отладочными символами, но они по умолчанию зашиваются в основной файл
Дополнительные проверки после публикации в nuget.org
Это не обязательно, но желательно.
Зайди в NuGet Package Explorer, дождись, пока последняя версия проиндексируется и проверь,
чтобы все строки в разделе Health были с зеленым значком. Если есть желтые или красные значки - можешь
попытаться опубликовать файл .snupkg
Тестирование
Здесь описаны только базовые инструкции, чтобы создать и запустить тесты. За деталями иди в файлы исходного кода, там комментарии есть, они всё пояснят.
1. Как создать тесты
- Создать класс теста и унаследовать его от
TestNode - Создать
public voidметод и повесить на него атрибут[Test] - Посмотреть в исходнике
TestNode.csче еще там можно сделать
2. Как запустить тесты
- Добавить в дерево сцену
Src/KludgeBox/Testing/TestingScene/Tester.tscn - Желательно убрать всё остальное
- Тестер сам просканирует сборку проекта и запустит все тесты
3. Полезные штуки, в которых есть комментарии
Эти файлы используются для непосредственного написания тестов. В них есть более подробные комментарии о том как их использовать.
Src/KludgeBox/Testing/Asserting/Assert.csSrc/KludgeBox/Testing/TestNode.csSrc/KludgeBox/Testing/TestAttributes.cs
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- GodotSharp (>= 4.7.1)
- Humanizer (>= 2.14.1)
- Serilog (>= 4.3.0)
- Serilog.Sinks.Async (>= 2.1.0)
- Serilog.Sinks.File (>= 7.0.0)
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 |
|---|---|---|
| 4.0.0 | 137 | 8/8/2026 |
| 3.3.3 | 141 | 3/29/2026 |
| 3.3.2 | 117 | 3/24/2026 |
| 3.3.1 | 112 | 3/23/2026 |
| 3.3.0 | 108 | 3/23/2026 |
| 3.2.2 | 110 | 3/22/2026 |
| 3.2.1 | 104 | 3/22/2026 |
| 3.2.0 | 109 | 3/21/2026 |
| 3.1.3 | 111 | 3/21/2026 |
| 3.1.2 | 127 | 2/21/2026 |
| 3.1.1 | 126 | 2/3/2026 |
| 3.1.0 | 126 | 1/24/2026 |
| 3.0.2 | 201 | 12/21/2025 |
| 3.0.1 | 181 | 12/21/2025 |
| 3.0.0 | 189 | 12/21/2025 |
| 2.3.0 | 189 | 12/21/2025 |
| 2.2.1 | 235 | 12/7/2025 |
| 2.2.0 | 204 | 12/5/2025 |
| 2.1.2 | 179 | 11/15/2025 |
| 2.1.1 | 180 | 11/15/2025 |