![]() |
VOOZH | about |
dotnet add package GeWuYou.GFramework --version 0.7.1
NuGet\Install-Package GeWuYou.GFramework -Version 0.7.1
<PackageReference Include="GeWuYou.GFramework" Version="0.7.1" />
<PackageVersion Include="GeWuYou.GFramework" Version="0.7.1" />Directory.Packages.props
<PackageReference Include="GeWuYou.GFramework" />Project file
paket add GeWuYou.GFramework --version 0.7.1
#r "nuget: GeWuYou.GFramework, 0.7.1"
#:package GeWuYou.GFramework@0.7.1
#addin nuget:?package=GeWuYou.GFramework&version=0.7.1Install as a Cake Addin
#tool nuget:?package=GeWuYou.GFramework&version=0.7.1Install as a Cake Tool
面向游戏开发场景的模块化 C# 框架,按运行时、抽象层、引擎集成和源码生成器拆分能力。
👁 NuGet Core
👁 NuGet Meta
👁 Godot
👁 .NET
👁 zread
GFramework.Game Runtime 与 GFramework.Game.SourceGenerators 共享 schema 子集为准;VS Code 工具是辅助层,不会单独扩出另一套配置契约| 模块 | 作用 | 入口 |
|---|---|---|
GFramework.Core |
架构、命令、查询、事件、状态、日志、资源、协程等基础运行时 | |
GFramework.Core.Abstractions |
Core 对应的契约层,适合面向接口开发或做模块拆分 |
|
GFramework.Cqrs |
新版 CQRS runtime,提供 request dispatcher、notification publish 与 handler 注册 | |
GFramework.Cqrs.Abstractions |
CQRS 消息、处理器、pipeline 行为等契约 | |
GFramework.Game |
面向游戏项目的配置、数据、路由、场景、UI、设置和存储运行时 | |
GFramework.Game.Abstractions |
Game 对应的契约层 |
|
GFramework.Godot |
Godot 集成层,负责把框架能力接入节点、场景、UI、设置与存储 | |
GFramework.Ecs.Arch |
Arch ECS 集成 | |
GFramework.Ecs.Arch.Abstractions |
Arch ECS 集成对应的契约层,适合共享宿主循环与 ECS 模块边界 | |
GFramework.Core.SourceGenerators |
Core 侧通用源码生成器与分析器 | |
GFramework.Game.SourceGenerators |
游戏内容配置 schema 生成器 | |
GFramework.Cqrs.SourceGenerators |
CQRS handler registry 生成器 | |
GFramework.Godot.SourceGenerators |
Godot 项目元数据、节点注入、信号绑定与 Scene/UI 辅助生成器 |
以下目录目前不是独立采用入口,而是跟随所属模块维护的内部支撑组件:
| 目录 | 定位 | 跟随入口 |
|---|---|---|
GFramework.Core.SourceGenerators.Abstractions |
Core.SourceGenerators 的内部契约层 |
|
GFramework.Godot.SourceGenerators.Abstractions |
Godot.SourceGenerators 的内部契约层 |
|
GFramework.SourceGenerators.Common |
生成器家族共享的公共支撑代码 |
仓库根 README 与文档站点保持同一套栏目命名:
GeWuYou.GFramework
当前是聚合元包,只聚合 GFramework.Core 与 GFramework.Game 这两层运行时;不会自动带上 Cqrs、Godot 或任何 Source Generator,适合快速试用或先起一个最小运行时骨架。GeWuYou.GFramework.Core
推荐的最小起步包。先从核心运行时开始,再按需叠加 Cqrs、Game、Godot 和 Source Generators。GeWuYou.GFramework.*.Abstractions
适合需要单独依赖契约层、插件化、测试替身或多模块解耦的场景。GeWuYou.GFramework.*.SourceGenerators
只在需要编译期生成代码时安装,版本应与运行时包保持一致。如果你采用 AI-First 配置工作流,建议在进入实现前先确认两条边界:
additionalProperties: false(需显式设置为 false;省略或 true 视为不支持)oneOf / anyOf 这类会改变生成类型形状的组合关键字当前会被 Runtime / Generator / Tooling 直接拒绝更复杂的 schema shape 需要先回到 schema 设计与 raw YAML 维护路径,而不是假定编辑器工具存在隐藏支持。
# 最小起步
dotnet add package GeWuYou.GFramework.Core
dotnet add package GeWuYou.GFramework.Core.Abstractions
# 新版 CQRS
dotnet add package GeWuYou.GFramework.Cqrs
dotnet add package GeWuYou.GFramework.Cqrs.Abstractions
# 游戏层运行时
dotnet add package GeWuYou.GFramework.Game
dotnet add package GeWuYou.GFramework.Game.Abstractions
# Godot 集成
dotnet add package GeWuYou.GFramework.Godot
# 按需安装源码生成器
dotnet add package GeWuYou.GFramework.Core.SourceGenerators
dotnet add package GeWuYou.GFramework.Game.SourceGenerators
dotnet add package GeWuYou.GFramework.Cqrs.SourceGenerators
dotnet add package GeWuYou.GFramework.Godot.SourceGenerators
NuGet 消费项目可显式开启模块级自动导入:
<PropertyGroup>
<EnableGFrameworkGlobalUsings>true</EnableGFrameworkGlobalUsings>
</PropertyGroup>
如果只想排除部分命名空间:
<ItemGroup>
<GFrameworkExcludedUsing Include="GFramework.Core.Environment" />
<GFrameworkExcludedUsing Include="GFramework.Godot.Extensions" />
</ItemGroup>
该能力主要面向 NuGet 消费场景。仓库内
ProjectReference方式仍建议显式维护自己的GlobalUsings.cs。
GFramework.sln
├─ GFramework.Core/
├─ GFramework.Core.Abstractions/
├─ GFramework.Cqrs/
├─ GFramework.Cqrs.Abstractions/
├─ GFramework.Game/
├─ GFramework.Game.Abstractions/
├─ GFramework.Godot/
├─ GFramework.Ecs.Arch/
├─ GFramework.Ecs.Arch.Abstractions/
├─ GFramework.Core.SourceGenerators/
├─ GFramework.Core.SourceGenerators.Abstractions/
├─ GFramework.Game.SourceGenerators/
├─ GFramework.Cqrs.SourceGenerators/
├─ GFramework.Godot.SourceGenerators/
├─ GFramework.Godot.SourceGenerators.Abstractions/
├─ GFramework.SourceGenerators.Common/
└─ docs/
提交功能或行为变更时,请把代码、测试和文档一起更新:
ai-plan/public/README.md 与对应主题目录下的 tracking / trace本仓库当前采用 。贡献源码或配置文件时,请遵循 。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.1 | 0 | 6/19/2026 |
| 0.7.0 | 329 | 5/16/2026 |
| 0.6.0 | 169 | 5/8/2026 |
| 0.5.0 | 152 | 5/7/2026 |
| 0.4.0 | 156 | 5/6/2026 |
| 0.3.1 | 298 | 5/5/2026 |
| 0.3.0 | 163 | 5/4/2026 |
| 0.2.0 | 164 | 5/1/2026 |
| 0.1.3 | 178 | 4/29/2026 |
| 0.1.2 | 169 | 4/28/2026 |
| 0.1.1 | 176 | 4/27/2026 |
| 0.1.0 | 251 | 4/26/2026 |
| 0.0.222 | 191 | 4/17/2026 |
| 0.0.221 | 183 | 4/17/2026 |
| 0.0.220 | 214 | 4/13/2026 |
| 0.0.219 | 194 | 4/13/2026 |
| 0.0.218 | 196 | 4/12/2026 |
| 0.0.217 | 193 | 4/11/2026 |
| 0.0.216 | 190 | 4/7/2026 |
| 0.0.215 | 201 | 4/6/2026 |