Compare commits

...

83 Commits

Author SHA1 Message Date
root 6871302023 更新认证控制器和用户界面组件 4 weeks ago
root 2c135b42ba 完成 WebUI 文件夹重命名为 X1.WebUI 1 month ago
root 2d801601b3 重命名 WebUI 项目相关引用为 X1,更新 README.md 和 package.json 1 month ago
root 6021637f4e 重命名CellularManagement为X1(不含WebUI),并修复所有引用,避免乱码 1 month ago
hyh 2c0d6c9d09 注册命名空间 2 months ago
hyh fcb169e667 refactor: 重构服务目录结构,按功能模块分类 2 months ago
hyh d161bccab2 refactor: 更新仓储接口引用路径,适配新的目录结构 2 months ago
hyh 3bf83be5e9 refactor: 重构仓储接口目录结构,按领域分类组织 2 months ago
hyh 00933ee3ee 重构:更新数据库迁移文件 2 months ago
hyh 01bf2e727c 重构仓库结构:移动 IBaseRepository 到 Domain 层并更新相关接口 2 months ago
hyh f572287401 refactor: 重构仓储层结构,优化代码组织 2 months ago
root b3e8943169 Device List curd 2 months ago
hyh 35c339418d websocket 控制是否返回发送信息 2 months ago
hyh 9f50481ebd feat: 优化 WebSocket 中间件,添加消息缓冲、错误处理和性能监控功能 2 months ago
root c484d3aa23 html 可以显示收到数据 2 months ago
root 47b4f6e0e8 CellularManagement.WebSocket 类库代码优化 2 months ago
hyh 0e321f828b 重构 WebSocket 处理程序结构,优化消息处理流程 2 months ago
hyh b7982d530e 优化了IncomingMessageProcessor类的注释,使其更加清晰和准确 2 months ago
hyh 67076199b0 feat: 添加 WebSocket 消息处理相关功能 2 months ago
hyh 716637c03b WebSocket 文件重新分类 2 months ago
hyh 5227ebfcf4 feat: 添加 WebSocket 消息处理功能 2 months ago
hyh fd1d2b1e70 feat: 同步所有更改,包括认证相关功能和UI更新 3 months ago
hyh 3d2ab3a071 feat: 优化登出功能,添加详细日志记录和性能监控 3 months ago
hyh ff634ad4aa 添加登录日志功能和相关配置 3 months ago
hyh 1a2c88c6d8 feat: 添加用户登录日志功能,优化用户管理界面 3 months ago
hyh 128f3be343 refactor: 规范化代码,将 CreatedTime 改为 createdAt 3 months ago
hyh 6114cb226d CellularManagement.Infrastructure 去除 CellularManagement.Application 引用 3 months ago
root dc74694c68 feat: add captcha service and update cache service 3 months ago
root 85930db010 refactor: 规范化代码结构和实现 3 months ago
root a551bda406 docs: 添加 norm 分支说明文档 3 months ago
root b0a379f9b2 refactor: 重构代码以符合DDD架构 - 将OperationResult迁移到领域层 - 优化服务接口位置 - 更新依赖注入配置 3 months ago
hyh 3d41e2e275 更新用户注册相关功能 3 months ago
hyh 2a75722a4d feat: 添加用户注册功能 - 实现注册表单和验证 - 添加手机号码字段 - 优化表单验证规则 - 添加 Toast 通知组件 3 months ago
hyh 14bc6be277 feat: 角色管理页面UI与功能优化,支持列设置、密度切换、搜索体验提升等 3 months ago
hyh 09eaa7efbe feat: 优化角色表格布局并增加Radix UI分页功能 3 months ago
hyh 986487be47 docs: 更新 README.md,添加组件库使用说明 3 months ago
hyh 492eaa169d feat(role): 角色分页查询与命名规范,参照用户分页实现 3 months ago
hyh 0a4eff6cf6 feat: 统一使用 Radix UI 和 Shadcn UI 组件库 3 months ago
hyh 29dd65651f fix: 优化内容区空白和页面布局,DashboardHome/rolesView体验提升 3 months ago
hyh 423f5335be docs: 更新 README.md,添加角色管理模块说明 3 months ago
hyh c4cdd28411 refactor: 重构角色管理模块,分离命令和查询处理器 3 months ago
hyh 845357e59b docs: 完善项目文档 3 months ago
hyh 6a17a8fb0a feat: 添加角色管理功能 - 实现角色列表、创建、编辑、删除功能,更新项目文档 3 months ago
hyh 7cc1fd7a09 docs: 更新权限管理功能说明 3 months ago
hyh 83a6cc88ce feat(auth): 优化用户认证时的权限检查逻辑 3 months ago
hyh 042ed88bc0 删除备份 3 months ago
hyh 2fe019001f feat: 完善JWT认证和用户管理功能 3 months ago
hyh ea307a2077 refactor: 将获取当前用户接口从Auth移动到User控制器 3 months ago
hyh fe78db0f53 重构角色权限管理,优化代码结构 3 months ago
hyh 75f24121d1 feat: 实现角色权限分配和移除功能 3 months ago
hyh 81d5f2243e 更新权限相关实体和仓储,重新生成数据库迁移 3 months ago
hyh 2ef5a02eca 更新权限相关实体和仓储 3 months ago
hyh 3b237ed510 refactor: 重构用户角色仓储,实现命令查询职责分离 3 months ago
hyh fd14a6acfc feat: 添加认证相关功能和前端配置 3 months ago
hyh d18b2bb245 refactor: 将相对路径导入替换为 @ 别名,并修复 LoginPage 中的类型错误 3 months ago
hyh 2339a4273c 更新:重构布局组件和认证相关功能 3 months ago
hyh 4dcb222883 重构:更新认证和仪表板页面结构,优化路由配置 3 months ago
hyh 2c72231a05 重构前端项目结构,优化UI组件 3 months ago
hyh 71953e6277 重构前端代码结构,优化路由和页面组织 3 months ago
hyh 6e5a8eb8a7 添加Web UI项目文件 3 months ago
root b300a64521 Remove old web project files 3 months ago
root 219261ef93 Add UsersController and related features for user management 3 months ago
root 50802175b9 Add CellularManagement.Web and ignore node_modules 3 months ago
hyh eb970f1004 feat(ws): 更新WebSocket连接管理器的日志记录 3 months ago
hyh bb79ab6b8b feat(ws): 增强WebSocket消息处理器的日志输出和响应数据 3 months ago
hyh da9345dbad 修复 PipelineBuilder 中的类型转换和 Logger 问题 3 months ago
hyh efcb2882a1 feat: 添加WebSocket功能,包括消息处理管道、中间件和WebSocket服务 3 months ago
hyh 65e729867e feat: 添加消息记录标签页系统,发送消息时自动切换到对应标签页 3 months ago
hyh aec7c755bc Initial commit on ws branch 3 months ago
hyh f57dc0e001 为WebSocket相关文件添加详细的中文注释 3 months ago
hyh bb9cd356c9 feat: 更新WebSocket客户端,添加消息类型支持和自动重连功能 3 months ago
hyh 0363255029 docs: 更新API测试文件,添加WebSocket和认证相关端点 3 months ago
hyh 85cecfb653 docs: 删除根目录下的appsettings.README.md 3 months ago
hyh 3dafc526f5 docs: 移动appsettings.README.md到正确位置并更新内容 3 months ago
hyh 884dd79538 docs: 更新appsettings.README.md,完善配置项说明 3 months ago
hyh 414f68bbe4 docs: 更新appsettings.README.md,完善配置项说明 3 months ago
hyh 5084ae78ff docs: 添加appsettings.README.md配置文件说明文档 3 months ago
hyh 68f47da591 docs: 更新README.md,添加WebSocket功能说明 3 months ago
hyh 57292385ad 更新:添加WebSocket相关功能实现 3 months ago
hyh e0bb742fbe feat: 添加角色管理功能 3 months ago
hyh 554ca522f6 添加用户角色相关功能 3 months ago
hyh 6916280258 更新 .gitignore 并移除已跟踪的 bin 和 obj 文件 3 months ago
hyh f7aff85d75 Initial commit to test branch 3 months ago
  1. 3
      .gitignore
  2. 223
      README.md
  3. 26
      X1.sln
  4. 211
      docs/JWT-Implementation-Guide.md
  5. 217
      docs/JWT-Service-Registration-Guide.md
  6. 25
      scripts/update-database.ps1
  7. 17
      src/CellularManagement.Application/CellularManagement.Application.csproj
  8. 19
      src/CellularManagement.Application/DependencyInjection.cs
  9. 362
      src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.deps.json
  10. BIN
      src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.dll
  11. BIN
      src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.pdb
  12. BIN
      src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Domain.dll
  13. BIN
      src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Domain.pdb
  14. 164
      src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.dgspec.json
  15. 19
      src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.g.props
  16. 6
      src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.g.targets
  17. 4
      src/CellularManagement.Application/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
  18. 0
      src/CellularManagement.Application/obj/Debug/net8.0/Cellular.41DA911D.Up2Date
  19. 22
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.AssemblyInfo.cs
  20. 1
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.AssemblyInfoInputs.cache
  21. 15
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.GeneratedMSBuildEditorConfig.editorconfig
  22. 8
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.GlobalUsings.g.cs
  23. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.assets.cache
  24. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.AssemblyReference.cache
  25. 1
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.CoreCompileInputs.cache
  26. 15
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.FileListAbsolute.txt
  27. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.dll
  28. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.pdb
  29. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/ref/CellularManagement.Application.dll
  30. BIN
      src/CellularManagement.Application/obj/Debug/net8.0/refint/CellularManagement.Application.dll
  31. 877
      src/CellularManagement.Application/obj/project.assets.json
  32. 27
      src/CellularManagement.Application/obj/project.nuget.cache
  33. 20
      src/CellularManagement.Domain/Entities/AppUser.cs
  34. 345
      src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.deps.json
  35. BIN
      src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.dll
  36. BIN
      src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.pdb
  37. 88
      src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.dgspec.json
  38. 19
      src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.g.props
  39. 6
      src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.g.targets
  40. 4
      src/CellularManagement.Domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
  41. 22
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.AssemblyInfo.cs
  42. 1
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.AssemblyInfoInputs.cache
  43. 15
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.GeneratedMSBuildEditorConfig.editorconfig
  44. 8
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.GlobalUsings.g.cs
  45. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.assets.cache
  46. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.AssemblyReference.cache
  47. 1
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.CoreCompileInputs.cache
  48. 12
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.FileListAbsolute.txt
  49. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.dll
  50. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.pdb
  51. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/ref/CellularManagement.Domain.dll
  52. BIN
      src/CellularManagement.Domain/obj/Debug/net8.0/refint/CellularManagement.Domain.dll
  53. 856
      src/CellularManagement.Domain/obj/project.assets.json
  54. 27
      src/CellularManagement.Domain/obj/project.nuget.cache
  55. 43
      src/CellularManagement.Infrastructure/Configurations/BaseEntityConfiguration.cs
  56. 140
      src/CellularManagement.Infrastructure/DependencyInjection.cs
  57. 166
      src/CellularManagement.Infrastructure/Migrations/20250427103103_InitialCreate.Designer.cs
  58. 107
      src/CellularManagement.Infrastructure/Migrations/20250427103103_InitialCreate.cs
  59. 163
      src/CellularManagement.Infrastructure/Migrations/AppDbContextModelSnapshot.cs
  60. 112
      src/CellularManagement.Infrastructure/Options/JwtBearerOptionsSetup.cs
  61. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Application.dll
  62. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Application.pdb
  63. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Domain.dll
  64. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Domain.pdb
  65. 1099
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.deps.json
  66. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.dll
  67. BIN
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.pdb
  68. 19
      src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.runtimeconfig.json
  69. 28
      src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.EntityFrameworkCore.targets
  70. 277
      src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.dgspec.json
  71. 23
      src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.g.props
  72. 9
      src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.g.targets
  73. 4
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
  74. 0
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/Cellular.F67AF22D.Up2Date
  75. 22
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.AssemblyInfo.cs
  76. 1
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.AssemblyInfoInputs.cache
  77. 15
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig
  78. 8
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.GlobalUsings.g.cs
  79. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.assets.cache
  80. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.AssemblyReference.cache
  81. 1
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.CoreCompileInputs.cache
  82. 19
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.FileListAbsolute.txt
  83. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.dll
  84. 1
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.genruntimeconfig.cache
  85. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.pdb
  86. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/ref/CellularManagement.Infrastructure.dll
  87. BIN
      src/CellularManagement.Infrastructure/obj/Debug/net8.0/refint/CellularManagement.Infrastructure.dll
  88. 3123
      src/CellularManagement.Infrastructure/obj/project.assets.json
  89. 67
      src/CellularManagement.Infrastructure/obj/project.nuget.cache
  90. 14
      src/CellularManagement.Presentation/CellularManagement.Presentation.csproj
  91. 1
      src/CellularManagement.Presentation/DependencyInjectionExtensions.cs
  92. 1293
      src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.deps.json
  93. BIN
      src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.dll
  94. BIN
      src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.pdb
  95. 84
      src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.dgspec.json
  96. 19
      src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.g.props
  97. 2
      src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.g.targets
  98. 4
      src/CellularManagement.Presentation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
  99. 22
      src/CellularManagement.Presentation/obj/Debug/net8.0/CellularManagement.Presentation.AssemblyInfo.cs
  100. 1
      src/CellularManagement.Presentation/obj/Debug/net8.0/CellularManagement.Presentation.AssemblyInfoInputs.cache

3
.gitignore

@ -39,3 +39,6 @@ artifacts/
*.user
*.userosscache
*.sln.docstates
# Node modules
node_modules/

223
README.md

@ -1,36 +1,189 @@
# CellularManagement 项目说明
## 项目概述
CellularManagement 是一个基于 Clean Architecture 架构的蜂窝网络管理系统。该项目采用领域驱动设计(DDD)原则,实现了高度模块化和可维护的代码结构。
CellularManagement 是一个基于 Clean Architecture 架构的蜂窝网络管理系统。该项目采用领域驱动设计(DDD)原则,实现了高度模块化和可维护的代码结构。系统提供了完整的用户认证、权限管理、实时通信等功能,适用于大规模分布式部署场景。
## 技术栈
- .NET 8.0
- 最新的 .NET 运行时和框架特性
- 高性能的异步编程模型
- 内置的依赖注入容器
- Entity Framework Core
- 支持多种数据库提供程序
- 强大的 LINQ 查询功能
- 自动迁移和数据库版本控制
- ASP.NET Core
- RESTful API 支持
- WebSocket 实时通信
- 中间件管道
- Clean Architecture
- 清晰的层次结构
- 依赖倒置原则
- 领域驱动设计
- DDD (领域驱动设计)
- 领域模型
- 聚合根
- 值对象
- 领域事件
- WebSocket
- 实时双向通信
- 连接状态管理
- 消息广播
## 项目结构
```
CellularManagement/
├── src/
│ ├── CellularManagement.Application/ # 应用层
│ │ ├── Common/ # 通用组件
│ │ ├── Features/ # 功能模块
│ │ └── Services/ # 应用服务
│ ├── CellularManagement.Domain/ # 领域层
│ │ ├── Entities/ # 领域实体
│ │ ├── Events/ # 领域事件
│ │ ├── Interfaces/ # 领域接口
│ │ └── ValueObjects/ # 值对象
│ ├── CellularManagement.Infrastructure/ # 基础设施层
│ │ ├── Persistence/ # 数据持久化
│ │ ├── Services/ # 基础设施服务
│ │ └── Identity/ # 身份认证
│ └── CellularManagement.WebApi/ # 表现层
│ ├── Controllers/ # API 控制器
│ ├── Middleware/ # 中间件
│ └── Filters/ # 过滤器
```
## 主要功能
- 用户认证与授权
- 角色管理
- 缓存服务
- JWT令牌管理
- 密钥轮换服务
### 用户认证与授权
- JWT 令牌认证
- 基于标准的 JWT 规范
- 支持令牌刷新机制
- 自动令牌过期处理
- 基于角色的访问控制 (RBAC)
- 灵活的角色定义
- 角色继承关系
- 动态角色分配
- 细粒度的权限管理
- 功能级权限控制
- 数据级权限控制
- 操作级权限控制
- 权限代码化存储
- 统一的权限标识符
- 权限分组管理
- 权限描述文档
- 多角色权限合并
- 自动权限去重
- 权限优先级处理
- 权限冲突解决
### 角色管理
- 角色创建与编辑
- 角色权限分配
- 角色继承关系
- 角色用户管理
### 缓存服务
- 分布式缓存支持
- 多级缓存策略
- 缓存自动失效
- 缓存预热机制
### JWT令牌管理
- 令牌生成与验证
- 令牌刷新机制
- 令牌黑名单
- 安全策略配置
### 密钥轮换服务
- 自动密钥轮换
- 密钥版本管理
- 密钥备份恢复
- 安全审计日志
### WebSocket实时通信
- 实时消息推送
- 点对点消息
- 广播消息
- 分组消息
- 连接管理
- 连接状态监控
- 自动重连机制
- 心跳检测
- 消息管道处理
- 消息过滤
- 消息转换
- 消息路由
- 分布式WebSocket管理
- 集群支持
- 会话共享
- 负载均衡
- 性能监控
- 连接数统计
- 消息吞吐量
- 延迟监控
## 角色管理模块
角色管理模块提供了完整的角色 CRUD 操作,采用 CQRS 模式实现,将命令和查询职责分离。
### 功能特性
- 创建角色
- 删除角色
- 获取单个角色
- 获取所有角色
### API 端点
| 方法 | 端点 | 描述 |
|--------|-------------------|--------------|
| POST | /api/roles/create | 创建新角色 |
| DELETE | /api/roles/{id} | 删除角色 |
| GET | /api/roles/{id} | 获取单个角色 |
| GET | /api/roles | 获取所有角色 |
### 代码结构
```
Features/Roles/
├── Commands/
│ ├── CreateRole/
│ │ ├── CreateRoleCommand.cs
│ │ ├── CreateRoleCommandHandler.cs
│ │ └── CreateRoleResponse.cs
│ ├── DeleteRole/
│ │ ├── DeleteRoleCommand.cs
│ │ ├── DeleteRoleCommandHandler.cs
│ │ └── DeleteRoleResponse.cs
│ └── RoleCommandHandler.cs
└── Queries/
├── GetRole/
│ ├── GetRoleQuery.cs
│ └── GetRoleResponse.cs
├── GetAllRolesQuery.cs
└── RoleQueryHandler.cs
```
### 设计模式
- CQRS(命令查询职责分离)
- 单一职责原则
- 依赖注入
- 异常处理
- 日志记录
## 开发环境要求
- .NET 8.0 SDK
- 最新的 .NET 开发工具
- 跨平台支持
- Visual Studio 2022 或 VS Code
- 完整的 IDE 支持
- 调试工具
- 代码分析
- SQL Server (可选,根据实际需求)
- 支持其他数据库
- 数据迁移工具
## 如何运行
1. 克隆项目
@ -50,9 +203,56 @@ dotnet run --project src/CellularManagement.WebApi
## 项目特点
- 采用 Clean Architecture 架构,实现关注点分离
- 清晰的层次结构
- 依赖倒置原则
- 领域驱动设计
- 使用 DDD 设计模式,提高代码可维护性
- 领域模型
- 聚合根
- 值对象
- 模块化设计,便于扩展和维护
- 功能模块化
- 插件化架构
- 配置驱动
- 完善的依赖注入机制
- 自动注册
- 生命周期管理
- 作用域控制
- 实时通信支持
- WebSocket
- 消息队列
- 事件总线
- 分布式架构支持
- 服务发现
- 负载均衡
- 配置中心
- 性能监控和指标收集
- 性能计数器
- 健康检查
- 日志追踪
## 开发指南
### 代码规范
- 遵循 C# 编码规范
- 使用 XML 文档注释
- 编写单元测试
- 代码审查流程
### 分支管理
- master: 主分支,稳定版本
- develop: 开发分支
- feature/*: 功能分支
- hotfix/*: 紧急修复分支
### 提交规范
- feat: 新功能
- fix: 修复
- docs: 文档
- style: 格式
- refactor: 重构
- test: 测试
- chore: 构建
## 贡献指南
1. Fork 项目
@ -63,3 +263,14 @@ dotnet run --project src/CellularManagement.WebApi
## 许可证
[MIT License](LICENSE)
## 分支说明
### norm 分支
- 创建时间:2024年
- 分支目的:规范化代码结构和实现
- 主要更新:
- 代码结构优化
- 命名规范统一
- 注释完善
- 文档更新

26
CellularManagement.sln → X1.sln

@ -1,28 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C0426B52-8F01-41DE-966C-ADC8DD078638}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CellularManagement.WebAPI", "src\CellularManagement.WebAPI\CellularManagement.WebAPI.csproj", "{0E228A93-4B80-450E-BDBB-BAF576E6FC73}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.WebAPI", "src\X1.WebAPI\X1.WebAPI.csproj", "{0E228A93-4B80-450E-BDBB-BAF576E6FC73}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CellularManagement.Presentation", "src\CellularManagement.Presentation\CellularManagement.Presentation.csproj", "{8BC4CD0B-54B9-41BA-B180-964E27B0A444}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.Presentation", "src\X1.Presentation\X1.Presentation.csproj", "{8BC4CD0B-54B9-41BA-B180-964E27B0A444}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CellularManagement.Domain", "src\CellularManagement.Domain\CellularManagement.Domain.csproj", "{95F5B3F8-8293-43D0-98CF-88A9A224D20E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.Domain", "src\X1.Domain\X1.Domain.csproj", "{95F5B3F8-8293-43D0-98CF-88A9A224D20E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CellularManagement.Application", "src\CellularManagement.Application\CellularManagement.Application.csproj", "{FE169440-2554-4810-97D6-CC44808AAA56}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.Application", "src\X1.Application\X1.Application.csproj", "{FE169440-2554-4810-97D6-CC44808AAA56}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CellularManagement.Infrastructure", "src\CellularManagement.Infrastructure\CellularManagement.Infrastructure.csproj", "{6CF192C7-060B-4328-B9F4-B05BD7401232}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.Infrastructure", "src\X1.Infrastructure\X1.Infrastructure.csproj", "{6CF192C7-060B-4328-B9F4-B05BD7401232}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1.WebSocket", "src\X1.WebSocket\X1.WebSocket.csproj", "{155D6C93-9A46-45CD-B21F-0F60719515D0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0E228A93-4B80-450E-BDBB-BAF576E6FC73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E228A93-4B80-450E-BDBB-BAF576E6FC73}.Debug|Any CPU.Build.0 = Debug|Any CPU
@ -44,6 +42,13 @@ Global
{6CF192C7-060B-4328-B9F4-B05BD7401232}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CF192C7-060B-4328-B9F4-B05BD7401232}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CF192C7-060B-4328-B9F4-B05BD7401232}.Release|Any CPU.Build.0 = Release|Any CPU
{155D6C93-9A46-45CD-B21F-0F60719515D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{155D6C93-9A46-45CD-B21F-0F60719515D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{155D6C93-9A46-45CD-B21F-0F60719515D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{155D6C93-9A46-45CD-B21F-0F60719515D0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{0E228A93-4B80-450E-BDBB-BAF576E6FC73} = {C0426B52-8F01-41DE-966C-ADC8DD078638}
@ -51,5 +56,6 @@ Global
{95F5B3F8-8293-43D0-98CF-88A9A224D20E} = {C0426B52-8F01-41DE-966C-ADC8DD078638}
{FE169440-2554-4810-97D6-CC44808AAA56} = {C0426B52-8F01-41DE-966C-ADC8DD078638}
{6CF192C7-060B-4328-B9F4-B05BD7401232} = {C0426B52-8F01-41DE-966C-ADC8DD078638}
{155D6C93-9A46-45CD-B21F-0F60719515D0} = {C0426B52-8F01-41DE-966C-ADC8DD078638}
EndGlobalSection
EndGlobal

211
docs/JWT-Implementation-Guide.md

@ -0,0 +1,211 @@
# JWT 实现指南
## 1. JwtOptions(配置类)
### 1.1 主要职责
- 存储和管理 JWT 相关的所有配置项
- 提供配置验证功能
- 支持从配置文件加载配置
### 1.2 关键配置项
```csharp
public class JwtOptions
{
public string SecretKey { get; set; } // JWT 密钥
public string Issuer { get; set; } // 颁发者
public string Audience { get; set; } // 受众
public int ExpiryMinutes { get; set; } // 访问令牌过期时间
public int RefreshTokenExpiryDays { get; set; } // 刷新令牌过期时间
public int ClockSkewMinutes { get; set; } // 时钟偏差
public int KeyRotationDays { get; set; } // 密钥轮换间隔
public int MinKeyLength { get; set; } // 密钥最小长度
}
```
### 1.3 配置验证
- 验证所有必需字段不为空
- 验证数值字段的有效性
- 验证密钥格式和长度
## 2. JwtOptionsExtensions(扩展方法类)
### 2.1 主要职责
- 提供 JwtOptions 的扩展功能
- 实现密钥强度验证
- 提供熵值计算功能
### 2.2 关键方法
```csharp
public static class JwtOptionsExtensions
{
// 验证密钥强度
public static void ValidateKeyStrength(this JwtOptions options)
// 计算字符串熵值
private static double CalculateEntropy(string input)
}
```
### 2.3 验证标准
- 密钥不能为空
- 密钥必须是有效的 Base64 字符串
- 密钥长度必须满足最小长度要求
- 密钥熵值必须大于 3.5(确保足够的随机性)
## 3. KeyRotationService(密钥管理服务)
### 3.1 主要职责
- 管理 JWT 密钥的生命周期
- 实现密钥自动轮换
- 提供密钥生成和验证功能
### 3.2 关键功能
- 密钥初始化
- 密钥轮换
- 密钥强度验证
- 密钥缓存管理
### 3.3 安全特性
- 定期自动轮换密钥
- 支持密钥预热
- 防止密钥泄露
- 密钥强度保证
## 4. JwtProvider(JWT 令牌提供者)
### 4.1 主要职责
- 生成 JWT 访问令牌和刷新令牌
- 验证 JWT 令牌
- 管理令牌黑名单
- 提供令牌解析功能
### 4.2 关键方法
```csharp
public interface IJwtProvider
{
string GenerateAccessToken(IEnumerable<Claim> claims);
string GenerateRefreshToken(IEnumerable<Claim> claims);
bool ValidateToken(string token);
void RevokeToken(string token);
void AddToBlacklist(string token);
IEnumerable<Claim> GetClaimsFromToken(string token);
}
```
### 4.3 安全特性
- 令牌撤销机制
- 令牌黑名单
- 完整的令牌验证
- 支持自定义声明
## 5. JwtBearerOptionsSetup(JWT Bearer 认证配置)
### 5.1 主要职责
- 配置 ASP.NET Core JWT Bearer 认证
- 设置令牌验证参数
- 配置认证事件处理
### 5.2 关键配置
```csharp
public class JwtBearerOptionsSetup : IConfigureOptions<JwtBearerOptions>
{
public void Configure(JwtBearerOptions options)
{
// 配置令牌验证参数
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = _jwtOptions.Issuer,
ValidateAudience = true,
ValidAudience = _jwtOptions.Audience,
ValidateLifetime = true,
// ... 其他配置
};
}
}
```
### 5.3 安全特性
- 强制使用 HTTPS
- 完整的令牌验证
- 详细的日志记录
- 异常处理机制
## 安全最佳实践
1. **密钥管理**
- 使用足够长的随机密钥
- 定期轮换密钥
- 使用安全的密钥存储机制
2. **令牌安全**
- 设置合理的过期时间
- 实现令牌撤销机制
- 使用令牌黑名单
3. **传输安全**
- 强制使用 HTTPS
- 验证令牌签名
- 验证令牌来源
4. **配置安全**
- 验证所有配置项
- 使用强类型配置
- 避免硬编码敏感信息
## 使用示例
### 1. 配置 JWT 选项
```csharp
services.Configure<JwtOptions>(configuration.GetSection(JwtOptions.SectionName));
```
### 2. 注册服务
```csharp
services.AddScoped<IJwtProvider, JwtProvider>();
services.AddScoped<IKeyRotationService, KeyRotationService>();
services.AddSingleton<IConfigureOptions<JwtBearerOptions>, JwtBearerOptionsSetup>();
```
### 3. 使用 JWT 提供者
```csharp
public class AuthController : ControllerBase
{
private readonly IJwtProvider _jwtProvider;
public AuthController(IJwtProvider jwtProvider)
{
_jwtProvider = jwtProvider;
}
public IActionResult Login(LoginRequest request)
{
// 验证用户
var claims = GetUserClaims(user);
var token = _jwtProvider.GenerateAccessToken(claims);
return Ok(new { token });
}
}
```
## 注意事项
1. **密钥管理**
- 不要在代码中硬编码密钥
- 使用环境变量或密钥管理服务
- 定期轮换密钥
2. **令牌配置**
- 设置合理的过期时间
- 启用所有安全验证
- 使用 HTTPS
3. **错误处理**
- 实现完整的错误处理
- 记录详细的日志
- 返回适当的错误信息
4. **性能考虑**
- 使用缓存机制
- 优化令牌验证
- 控制令牌大小

217
docs/JWT-Service-Registration-Guide.md

@ -0,0 +1,217 @@
# JWT 服务注册指南
## 服务注册概览
JWT 相关的服务注册主要分布在两个位置:
1. `Program.cs` - Web API 层的服务注册
2. `DependencyInjection.cs` - 基础设施层的服务注册
## 1. 基础设施层注册 (DependencyInjection.cs)
### 1.1 JWT 配置注册
```csharp
// 配置 JWT 选项
services.Configure<JwtOptions>(configuration.GetSection(JwtOptions.SectionName));
services.AddSingleton<IConfigureOptions<JwtBearerOptions>, JwtBearerOptionsSetup>();
services.AddScoped<IJwtProvider, JwtProvider>();
```
说明:
- `Configure<JwtOptions>`: 从配置文件加载 JWT 配置
- `JwtBearerOptionsSetup`: 配置 JWT Bearer 认证选项
- `JwtProvider`: 实现 JWT 令牌的生成和验证
### 1.2 密钥管理服务注册
```csharp
// 注册密钥轮换服务
services.AddSingleton<IKeyRotationService, KeyRotationService>();
services.AddHostedService<KeyRotationBackgroundService>();
```
说明:
- `KeyRotationService`: 管理 JWT 密钥的生命周期
- `KeyRotationBackgroundService`: 后台服务,定期执行密钥轮换
### 1.3 认证服务注册
```csharp
// 配置JWT认证
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer();
services.AddAuthorization();
```
说明:
- 设置默认认证方案为 JWT Bearer
- 启用授权服务
## 2. Web API 层注册 (Program.cs)
### 2.1 JWT 配置注册
```csharp
// 配置JWT认证
builder.Services.Configure<JwtOptions>(builder.Configuration.GetSection("JwtOptions"));
builder.Services.AddSingleton<IConfigureOptions<JwtBearerOptions>, JwtBearerOptionsSetup>();
```
### 2.2 认证服务注册
```csharp
builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer();
```
### 2.3 Swagger 配置
```csharp
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
Scheme = "Bearer"
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
Array.Empty<string>()
}
});
});
```
## 3. 服务注册优化建议
### 3.1 避免重复注册
目前存在重复注册的问题:
1. JWT 配置在两个地方都进行了注册
2. 认证服务在两个地方都进行了配置
建议优化方案:
```csharp
// 在 DependencyInjection.cs 中统一注册
public static IServiceCollection AddJwtServices(
this IServiceCollection services,
IConfiguration configuration)
{
// 配置 JWT 选项
services.Configure<JwtOptions>(configuration.GetSection(JwtOptions.SectionName));
// 注册 JWT 服务
services.AddSingleton<IConfigureOptions<JwtBearerOptions>, JwtBearerOptionsSetup>();
services.AddScoped<IJwtProvider, JwtProvider>();
services.AddSingleton<IKeyRotationService, KeyRotationService>();
services.AddHostedService<KeyRotationBackgroundService>();
// 配置认证
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer();
services.AddAuthorization();
return services;
}
```
### 3.2 配置文件结构
建议的 JWT 配置结构:
```json
{
"JwtOptions": {
"SecretKey": "your-secret-key",
"Issuer": "your-issuer",
"Audience": "your-audience",
"ExpiryMinutes": 15,
"RefreshTokenExpiryDays": 7,
"ClockSkewMinutes": 5,
"KeyRotationDays": 30,
"MinKeyLength": 64
}
}
```
## 4. 中间件配置
### 4.1 认证中间件
```csharp
// 启用认证中间件
app.UseAuthentication();
// 启用授权中间件
app.UseAuthorization();
```
### 4.2 HTTPS 重定向
```csharp
// 启用 HTTPS 重定向
app.UseHttpsRedirection();
```
## 5. 使用建议
1. **配置管理**
- 使用强类型配置
- 集中管理配置项
- 避免硬编码敏感信息
2. **服务注册**
- 使用扩展方法组织服务注册
- 避免重复注册
- 遵循依赖注入最佳实践
3. **安全配置**
- 启用 HTTPS
- 配置适当的 CORS 策略
- 实现完整的认证和授权
4. **开发体验**
- 配置 Swagger 文档
- 提供详细的错误信息
- 实现适当的日志记录
## 6. 常见问题
1. **配置加载失败**
- 检查配置文件路径
- 验证配置节点名称
- 确保配置值格式正确
2. **认证失败**
- 检查令牌格式
- 验证密钥配置
- 确认过期时间设置
3. **密钥轮换问题**
- 检查轮换间隔设置
- 验证密钥生成逻辑
- 确保缓存正确更新
4. **性能问题**
- 优化令牌验证
- 使用适当的缓存策略
- 控制令牌大小

25
scripts/update-database.ps1

@ -0,0 +1,25 @@
# 设置错误时停止执行
$ErrorActionPreference = "Stop"
# 设置项目路径
$projectPath = "src/CellularManagement.Infrastructure"
$startupProjectPath = "src/CellularManagement.WebAPI"
# 设置迁移名称
$migrationName = "AddLoginLogs"
# 检查是否已存在迁移
$migrations = dotnet ef migrations list --project $projectPath --startup-project $startupProjectPath
if ($migrations -match $migrationName) {
Write-Host "迁移 '$migrationName' 已存在,跳过创建迁移步骤"
} else {
# 创建迁移
Write-Host "正在创建迁移 '$migrationName'..."
dotnet ef migrations add $migrationName --project $projectPath --startup-project $startupProjectPath
}
# 更新数据库
Write-Host "正在更新数据库..."
dotnet ef database update --project $projectPath --startup-project $startupProjectPath
Write-Host "数据库更新完成!"

17
src/CellularManagement.Application/CellularManagement.Application.csproj

@ -1,17 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\CellularManagement.Domain\CellularManagement.Domain.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
</ItemGroup>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

19
src/CellularManagement.Application/DependencyInjection.cs

@ -1,19 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
namespace CellularManagement.Application;
/// <summary>
/// 应用层依赖注入扩展
/// </summary>
public static class DependencyInjection
{
/// <summary>
/// 添加应用层服务
/// </summary>
/// <param name="services">服务集合</param>
/// <returns>服务集合</returns>
public static IServiceCollection AddApplicationServices(this IServiceCollection services)
{
return services;
}
}

362
src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.deps.json

@ -1,362 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"CellularManagement.Application/1.0.0": {
"dependencies": {
"CellularManagement.Domain": "1.0.0",
"Microsoft.Extensions.DependencyInjection": "8.0.0"
},
"runtime": {
"CellularManagement.Application.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
"Microsoft.Extensions.Identity.Stores": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
"Microsoft.EntityFrameworkCore.Analyzers": "7.0.0",
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "8.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.Identity.Core": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.Extensions.Logging/7.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "8.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Options/7.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Primitives/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"CellularManagement.Domain/1.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "7.0.0",
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "8.0.0"
},
"runtime": {
"CellularManagement.Domain.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"CellularManagement.Application/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hFF+HOqtiNrGtO5ZxLVAFo1ksDLQWf8IHEmGRmcF9azlUWvDLZp8+W8gDyLBcGcY5m3ugEvKy/ncElxO4d0NtQ==",
"path": "microsoft.aspnetcore.cryptography.internal/7.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rCQddWkUxGmObeftM0YVyFOPcXkXDEWKGCc4F1viRLEL4ojIbdKwbOYBSf5hfWDR+NO0aGq8r3a8COvNYN/bZA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/7.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mtomuG24wGpvdblVQUj/JHIZ1i8oNhRNHr0V0re8fTkv15hz+AQLdtwbdd6FdINNeXiKi3kGmzZ7PE1KOyzoSg==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/7.0.0",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9W+IfmAzMrp2ZpKZLhgTlWljSBM9Erldis1us61DAGi+L7Q6vilTbe1G2zDxtYO8F2H0I0Qnupdx5Cp4s2xoZw==",
"path": "microsoft.entityframeworkcore/7.0.0",
"hashPath": "microsoft.entityframeworkcore.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Pfu3Zjj5+d2Gt27oE9dpGiF/VobBB+s5ogrfI9sBsXQE1SG49RqVz5+IyeNnzhyejFrPIQsPDRMchhcojy4Hbw==",
"path": "microsoft.entityframeworkcore.abstractions/7.0.0",
"hashPath": "microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Qkd2H+jLe37o5ku+LjT6qf7kAHY75Yfn2bBDQgqr13DTOLYpEy1Mt93KPFjaZvIu/srEcbfGGMRL7urKm5zN8Q==",
"path": "microsoft.entityframeworkcore.analyzers/7.0.0",
"hashPath": "microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eQiYygtR2xZ0Uy7KtiFRHpoEx/U8xNwbNRgu1pEJgSxbJLtg6tDL1y2YcIbSuIRSNEljXIIHq/apEhGm1QL70g==",
"path": "microsoft.entityframeworkcore.relational/7.0.0",
"hashPath": "microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==",
"path": "microsoft.extensions.caching.abstractions/7.0.0",
"hashPath": "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==",
"path": "microsoft.extensions.caching.memory/7.0.0",
"hashPath": "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
"path": "microsoft.extensions.dependencyinjection/8.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cq11jroq2szFcXLJ0IW5BlI7oqq3ZGCu1mXCnpJ8VIvhvpIzf30AOoWR/w3YRVdAgkYzxbUQpKGZd+oxAKQhLA==",
"path": "microsoft.extensions.identity.core/7.0.0",
"hashPath": "microsoft.extensions.identity.core.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-feaaluQbzJAMMluwSc7Rebm7IEVAD8/5GWt0dMYLE0tcc6gAsHYjBIBrPzmTstORd7k405Qo18FPF/jTfRsM0A==",
"path": "microsoft.extensions.identity.stores/7.0.0",
"hashPath": "microsoft.extensions.identity.stores.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==",
"path": "microsoft.extensions.logging/7.0.0",
"hashPath": "microsoft.extensions.logging.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
"path": "microsoft.extensions.logging.abstractions/7.0.0",
"hashPath": "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
"path": "microsoft.extensions.options/7.0.0",
"hashPath": "microsoft.extensions.options.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
"path": "microsoft.extensions.primitives/7.0.0",
"hashPath": "microsoft.extensions.primitives.7.0.0.nupkg.sha512"
},
"CellularManagement.Domain/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

BIN
src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.dll

Binary file not shown.

BIN
src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Application.pdb

Binary file not shown.

BIN
src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Domain.dll

Binary file not shown.

BIN
src/CellularManagement.Application/bin/Debug/net8.0/CellularManagement.Domain.pdb

Binary file not shown.

164
src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.dgspec.json

@ -1,164 +0,0 @@
{
"format": 1,
"restore": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj": {}
},
"projects": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"projectName": "CellularManagement.Application",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[8.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"projectName": "CellularManagement.Domain",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[7.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

19
src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.g.props

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\changeself\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\changeself\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\7.0.0\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\7.0.0\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props')" />
</ImportGroup>
</Project>

6
src/CellularManagement.Application/obj/CellularManagement.Application.csproj.nuget.g.targets

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\7.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\7.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
</ImportGroup>
</Project>

4
src/CellularManagement.Application/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

0
src/CellularManagement.Application/obj/Debug/net8.0/Cellular.41DA911D.Up2Date

22
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.AssemblyInfo.cs

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CellularManagement.Application")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("CellularManagement.Application")]
[assembly: System.Reflection.AssemblyTitleAttribute("CellularManagement.Application")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

1
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.AssemblyInfoInputs.cache

@ -1 +0,0 @@
81cfc18adde389c3ed735e73d4a5a1df2880dce2491e526c9dfa723bea74f632

15
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.GeneratedMSBuildEditorConfig.editorconfig

@ -1,15 +0,0 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = CellularManagement.Application
build_property.ProjectDir = D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

8
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.GlobalUsings.g.cs

@ -1,8 +0,0 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

BIN
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.assets.cache

Binary file not shown.

BIN
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.AssemblyReference.cache

Binary file not shown.

1
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.CoreCompileInputs.cache

@ -1 +0,0 @@
8dbfacc6d4b66280cdce61e7719a6ebfaf1d5c1b90fa32c02ef4a1dfb60e4950

15
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.csproj.FileListAbsolute.txt

@ -1,15 +0,0 @@
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\bin\Debug\net8.0\CellularManagement.Application.deps.json
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\bin\Debug\net8.0\CellularManagement.Application.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\bin\Debug\net8.0\CellularManagement.Application.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\bin\Debug\net8.0\CellularManagement.Domain.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\bin\Debug\net8.0\CellularManagement.Domain.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.csproj.AssemblyReference.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.GeneratedMSBuildEditorConfig.editorconfig
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.AssemblyInfoInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.AssemblyInfo.cs
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.csproj.CoreCompileInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\Cellular.41DA911D.Up2Date
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\refint\CellularManagement.Application.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\CellularManagement.Application.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Application\obj\Debug\net8.0\ref\CellularManagement.Application.dll

BIN
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.dll

Binary file not shown.

BIN
src/CellularManagement.Application/obj/Debug/net8.0/CellularManagement.Application.pdb

Binary file not shown.

BIN
src/CellularManagement.Application/obj/Debug/net8.0/ref/CellularManagement.Application.dll

Binary file not shown.

BIN
src/CellularManagement.Application/obj/Debug/net8.0/refint/CellularManagement.Application.dll

Binary file not shown.

877
src/CellularManagement.Application/obj/project.assets.json

@ -1,877 +0,0 @@
{
"version": 3,
"targets": {
"net8.0": {
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
"Microsoft.Extensions.Identity.Stores": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"related": ".xml"
}
}
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
"Microsoft.EntityFrameworkCore.Analyzers": "7.0.0",
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props": {}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"related": ".xml"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/_._": {}
}
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
"type": "package",
"compile": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.Identity.Core": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Logging/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
}
},
"Microsoft.Extensions.Options/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Primitives/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"CellularManagement.Domain/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "7.0.0",
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "7.0.0"
},
"compile": {
"bin/placeholder/CellularManagement.Domain.dll": {}
},
"runtime": {
"bin/placeholder/CellularManagement.Domain.dll": {}
}
}
}
},
"libraries": {
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"sha512": "hFF+HOqtiNrGtO5ZxLVAFo1ksDLQWf8IHEmGRmcF9azlUWvDLZp8+W8gDyLBcGcY5m3ugEvKy/ncElxO4d0NtQ==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.internal/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net462/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.internal.nuspec"
]
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"sha512": "rCQddWkUxGmObeftM0YVyFOPcXkXDEWKGCc4F1viRLEL4ojIbdKwbOYBSf5hfWDR+NO0aGq8r3a8COvNYN/bZA==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.keyderivation/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net462/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.keyderivation.nuspec"
]
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"sha512": "mtomuG24wGpvdblVQUj/JHIZ1i8oNhRNHr0V0re8fTkv15hz+AQLdtwbdd6FdINNeXiKi3kGmzZ7PE1KOyzoSg==",
"type": "package",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll",
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.xml",
"microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.identity.entityframeworkcore.nuspec"
]
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"sha512": "9W+IfmAzMrp2ZpKZLhgTlWljSBM9Erldis1us61DAGi+L7Q6vilTbe1G2zDxtYO8F2H0I0Qnupdx5Cp4s2xoZw==",
"type": "package",
"path": "microsoft.entityframeworkcore/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props",
"lib/net6.0/Microsoft.EntityFrameworkCore.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.xml",
"microsoft.entityframeworkcore.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"sha512": "Pfu3Zjj5+d2Gt27oE9dpGiF/VobBB+s5ogrfI9sBsXQE1SG49RqVz5+IyeNnzhyejFrPIQsPDRMchhcojy4Hbw==",
"type": "package",
"path": "microsoft.entityframeworkcore.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml",
"microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.abstractions.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"sha512": "Qkd2H+jLe37o5ku+LjT6qf7kAHY75Yfn2bBDQgqr13DTOLYpEy1Mt93KPFjaZvIu/srEcbfGGMRL7urKm5zN8Q==",
"type": "package",
"path": "microsoft.entityframeworkcore.analyzers/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll",
"lib/netstandard2.0/_._",
"microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.analyzers.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"sha512": "eQiYygtR2xZ0Uy7KtiFRHpoEx/U8xNwbNRgu1pEJgSxbJLtg6tDL1y2YcIbSuIRSNEljXIIHq/apEhGm1QL70g==",
"type": "package",
"path": "microsoft.entityframeworkcore.relational/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml",
"microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.relational.nuspec"
]
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==",
"type": "package",
"path": "microsoft.extensions.caching.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml",
"microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.caching.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==",
"type": "package",
"path": "microsoft.extensions.caching.memory/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets",
"lib/net462/Microsoft.Extensions.Caching.Memory.dll",
"lib/net462/Microsoft.Extensions.Caching.Memory.xml",
"lib/net6.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/net6.0/Microsoft.Extensions.Caching.Memory.xml",
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/net7.0/Microsoft.Extensions.Caching.Memory.xml",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml",
"microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
"microsoft.extensions.caching.memory.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"sha512": "f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"type": "package",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"sha512": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
"sha512": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"sha512": "cq11jroq2szFcXLJ0IW5BlI7oqq3ZGCu1mXCnpJ8VIvhvpIzf30AOoWR/w3YRVdAgkYzxbUQpKGZd+oxAKQhLA==",
"type": "package",
"path": "microsoft.extensions.identity.core/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.Extensions.Identity.Core.dll",
"lib/net462/Microsoft.Extensions.Identity.Core.xml",
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll",
"lib/net7.0/Microsoft.Extensions.Identity.Core.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.xml",
"microsoft.extensions.identity.core.7.0.0.nupkg.sha512",
"microsoft.extensions.identity.core.nuspec"
]
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"sha512": "feaaluQbzJAMMluwSc7Rebm7IEVAD8/5GWt0dMYLE0tcc6gAsHYjBIBrPzmTstORd7k405Qo18FPF/jTfRsM0A==",
"type": "package",
"path": "microsoft.extensions.identity.stores/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.Extensions.Identity.Stores.dll",
"lib/net462/Microsoft.Extensions.Identity.Stores.xml",
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/net7.0/Microsoft.Extensions.Identity.Stores.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.xml",
"microsoft.extensions.identity.stores.7.0.0.nupkg.sha512",
"microsoft.extensions.identity.stores.nuspec"
]
},
"Microsoft.Extensions.Logging/7.0.0": {
"sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==",
"type": "package",
"path": "microsoft.extensions.logging/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Logging.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
"lib/net462/Microsoft.Extensions.Logging.dll",
"lib/net462/Microsoft.Extensions.Logging.xml",
"lib/net6.0/Microsoft.Extensions.Logging.dll",
"lib/net6.0/Microsoft.Extensions.Logging.xml",
"lib/net7.0/Microsoft.Extensions.Logging.dll",
"lib/net7.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
"microsoft.extensions.logging.7.0.0.nupkg.sha512",
"microsoft.extensions.logging.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"sha512": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Options/7.0.0": {
"sha512": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
"type": "package",
"path": "microsoft.extensions.options/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Options.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
"lib/net462/Microsoft.Extensions.Options.dll",
"lib/net462/Microsoft.Extensions.Options.xml",
"lib/net6.0/Microsoft.Extensions.Options.dll",
"lib/net6.0/Microsoft.Extensions.Options.xml",
"lib/net7.0/Microsoft.Extensions.Options.dll",
"lib/net7.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.7.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Primitives/7.0.0": {
"sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
"type": "package",
"path": "microsoft.extensions.primitives/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
"lib/net462/Microsoft.Extensions.Primitives.dll",
"lib/net462/Microsoft.Extensions.Primitives.xml",
"lib/net6.0/Microsoft.Extensions.Primitives.dll",
"lib/net6.0/Microsoft.Extensions.Primitives.xml",
"lib/net7.0/Microsoft.Extensions.Primitives.dll",
"lib/net7.0/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.7.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
},
"CellularManagement.Domain/1.0.0": {
"type": "project",
"path": "../CellularManagement.Domain/CellularManagement.Domain.csproj",
"msbuildProject": "../CellularManagement.Domain/CellularManagement.Domain.csproj"
}
},
"projectFileDependencyGroups": {
"net8.0": [
"CellularManagement.Domain >= 1.0.0",
"Microsoft.Extensions.DependencyInjection >= 8.0.0"
]
},
"packageFolders": {
"C:\\Users\\changeself\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"projectName": "CellularManagement.Application",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[8.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}

27
src/CellularManagement.Application/obj/project.nuget.cache

@ -1,27 +0,0 @@
{
"version": 2,
"dgSpecHash": "bWHiEzexJX4=",
"success": true,
"projectFilePath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"expectedPackageFiles": [
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\7.0.0\\microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\7.0.0\\microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\7.0.0\\microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore\\7.0.0\\microsoft.entityframeworkcore.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.0\\microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\7.0.0\\microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\7.0.0\\microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.core\\7.0.0\\microsoft.extensions.identity.core.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.stores\\7.0.0\\microsoft.extensions.identity.stores.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging\\7.0.0\\microsoft.extensions.logging.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.primitives\\7.0.0\\microsoft.extensions.primitives.7.0.0.nupkg.sha512"
],
"logs": []
}

20
src/CellularManagement.Domain/Entities/AppUser.cs

@ -1,20 +0,0 @@
using Microsoft.AspNetCore.Identity;
namespace CellularManagement.Domain.Entities;
/// <summary>
/// 应用程序用户
/// 继承自 IdentityUser 以支持身份认证
/// 提供用户管理、认证和授权的基础功能
/// </summary>
public sealed class AppUser : IdentityUser
{
/// <summary>
/// 初始化用户
/// 使用 GUID 作为 ID
/// </summary>
public AppUser()
{
Id = Guid.NewGuid().ToString();
}
}

345
src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.deps.json

@ -1,345 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"CellularManagement.Domain/1.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "7.0.0",
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "7.0.0"
},
"runtime": {
"CellularManagement.Domain.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
"Microsoft.Extensions.Identity.Stores": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
"Microsoft.EntityFrameworkCore.Analyzers": "7.0.0",
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51807"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.DependencyInjection/7.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.Identity.Core": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51819"
}
}
},
"Microsoft.Extensions.Logging/7.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Options/7.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Primitives/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
}
}
},
"libraries": {
"CellularManagement.Domain/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hFF+HOqtiNrGtO5ZxLVAFo1ksDLQWf8IHEmGRmcF9azlUWvDLZp8+W8gDyLBcGcY5m3ugEvKy/ncElxO4d0NtQ==",
"path": "microsoft.aspnetcore.cryptography.internal/7.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rCQddWkUxGmObeftM0YVyFOPcXkXDEWKGCc4F1viRLEL4ojIbdKwbOYBSf5hfWDR+NO0aGq8r3a8COvNYN/bZA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/7.0.0",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mtomuG24wGpvdblVQUj/JHIZ1i8oNhRNHr0V0re8fTkv15hz+AQLdtwbdd6FdINNeXiKi3kGmzZ7PE1KOyzoSg==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/7.0.0",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9W+IfmAzMrp2ZpKZLhgTlWljSBM9Erldis1us61DAGi+L7Q6vilTbe1G2zDxtYO8F2H0I0Qnupdx5Cp4s2xoZw==",
"path": "microsoft.entityframeworkcore/7.0.0",
"hashPath": "microsoft.entityframeworkcore.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Pfu3Zjj5+d2Gt27oE9dpGiF/VobBB+s5ogrfI9sBsXQE1SG49RqVz5+IyeNnzhyejFrPIQsPDRMchhcojy4Hbw==",
"path": "microsoft.entityframeworkcore.abstractions/7.0.0",
"hashPath": "microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Qkd2H+jLe37o5ku+LjT6qf7kAHY75Yfn2bBDQgqr13DTOLYpEy1Mt93KPFjaZvIu/srEcbfGGMRL7urKm5zN8Q==",
"path": "microsoft.entityframeworkcore.analyzers/7.0.0",
"hashPath": "microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eQiYygtR2xZ0Uy7KtiFRHpoEx/U8xNwbNRgu1pEJgSxbJLtg6tDL1y2YcIbSuIRSNEljXIIHq/apEhGm1QL70g==",
"path": "microsoft.entityframeworkcore.relational/7.0.0",
"hashPath": "microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==",
"path": "microsoft.extensions.caching.abstractions/7.0.0",
"hashPath": "microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==",
"path": "microsoft.extensions.caching.memory/7.0.0",
"hashPath": "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==",
"path": "microsoft.extensions.dependencyinjection/7.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==",
"path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cq11jroq2szFcXLJ0IW5BlI7oqq3ZGCu1mXCnpJ8VIvhvpIzf30AOoWR/w3YRVdAgkYzxbUQpKGZd+oxAKQhLA==",
"path": "microsoft.extensions.identity.core/7.0.0",
"hashPath": "microsoft.extensions.identity.core.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-feaaluQbzJAMMluwSc7Rebm7IEVAD8/5GWt0dMYLE0tcc6gAsHYjBIBrPzmTstORd7k405Qo18FPF/jTfRsM0A==",
"path": "microsoft.extensions.identity.stores/7.0.0",
"hashPath": "microsoft.extensions.identity.stores.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==",
"path": "microsoft.extensions.logging/7.0.0",
"hashPath": "microsoft.extensions.logging.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
"path": "microsoft.extensions.logging.abstractions/7.0.0",
"hashPath": "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
"path": "microsoft.extensions.options/7.0.0",
"hashPath": "microsoft.extensions.options.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
"path": "microsoft.extensions.primitives/7.0.0",
"hashPath": "microsoft.extensions.primitives.7.0.0.nupkg.sha512"
}
}
}

BIN
src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.dll

Binary file not shown.

BIN
src/CellularManagement.Domain/bin/Debug/net8.0/CellularManagement.Domain.pdb

Binary file not shown.

88
src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.dgspec.json

@ -1,88 +0,0 @@
{
"format": 1,
"restore": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {}
},
"projects": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"projectName": "CellularManagement.Domain",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[7.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

19
src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.g.props

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\changeself\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\changeself\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\7.0.0\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\7.0.0\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props')" />
</ImportGroup>
</Project>

6
src/CellularManagement.Domain/obj/CellularManagement.Domain.csproj.nuget.g.targets

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\7.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\7.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
</ImportGroup>
</Project>

4
src/CellularManagement.Domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

22
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.AssemblyInfo.cs

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CellularManagement.Domain")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("CellularManagement.Domain")]
[assembly: System.Reflection.AssemblyTitleAttribute("CellularManagement.Domain")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

1
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.AssemblyInfoInputs.cache

@ -1 +0,0 @@
12e431942fef011f2b9b1a9adf8ef5e43c8f65aad53fe3677eb3730c08dcdf15

15
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.GeneratedMSBuildEditorConfig.editorconfig

@ -1,15 +0,0 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = CellularManagement.Domain
build_property.ProjectDir = D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

8
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.GlobalUsings.g.cs

@ -1,8 +0,0 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.assets.cache

Binary file not shown.

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.AssemblyReference.cache

Binary file not shown.

1
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.CoreCompileInputs.cache

@ -1 +0,0 @@
a4bcae8e8ce93538b276fc138f03b772b3319b2f2b20111afaa80647e7bee50a

12
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.csproj.FileListAbsolute.txt

@ -1,12 +0,0 @@
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\bin\Debug\net8.0\CellularManagement.Domain.deps.json
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\bin\Debug\net8.0\CellularManagement.Domain.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\bin\Debug\net8.0\CellularManagement.Domain.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.csproj.AssemblyReference.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.GeneratedMSBuildEditorConfig.editorconfig
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.AssemblyInfoInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.AssemblyInfo.cs
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.csproj.CoreCompileInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\refint\CellularManagement.Domain.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\CellularManagement.Domain.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Domain\obj\Debug\net8.0\ref\CellularManagement.Domain.dll

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.dll

Binary file not shown.

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/CellularManagement.Domain.pdb

Binary file not shown.

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/ref/CellularManagement.Domain.dll

Binary file not shown.

BIN
src/CellularManagement.Domain/obj/Debug/net8.0/refint/CellularManagement.Domain.dll

Binary file not shown.

856
src/CellularManagement.Domain/obj/project.assets.json

@ -1,856 +0,0 @@
{
"version": 3,
"targets": {
"net8.0": {
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "7.0.0",
"Microsoft.Extensions.Identity.Stores": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"related": ".xml"
}
}
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "7.0.0",
"Microsoft.EntityFrameworkCore.Analyzers": "7.0.0",
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props": {}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"related": ".xml"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/_._": {}
}
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.EntityFrameworkCore": "7.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"compile": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "7.0.0",
"Microsoft.Extensions.Identity.Core": "7.0.0",
"Microsoft.Extensions.Logging": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Logging/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "7.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Logging.Abstractions": "7.0.0",
"Microsoft.Extensions.Options": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
}
},
"Microsoft.Extensions.Options/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0",
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Primitives/7.0.0": {
"type": "package",
"compile": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
}
}
},
"libraries": {
"Microsoft.AspNetCore.Cryptography.Internal/7.0.0": {
"sha512": "hFF+HOqtiNrGtO5ZxLVAFo1ksDLQWf8IHEmGRmcF9azlUWvDLZp8+W8gDyLBcGcY5m3ugEvKy/ncElxO4d0NtQ==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.internal/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net462/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.internal.nuspec"
]
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/7.0.0": {
"sha512": "rCQddWkUxGmObeftM0YVyFOPcXkXDEWKGCc4F1viRLEL4ojIbdKwbOYBSf5hfWDR+NO0aGq8r3a8COvNYN/bZA==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.keyderivation/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net462/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net7.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.cryptography.keyderivation.nuspec"
]
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/7.0.0": {
"sha512": "mtomuG24wGpvdblVQUj/JHIZ1i8oNhRNHr0V0re8fTkv15hz+AQLdtwbdd6FdINNeXiKi3kGmzZ7PE1KOyzoSg==",
"type": "package",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll",
"lib/net7.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.xml",
"microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512",
"microsoft.aspnetcore.identity.entityframeworkcore.nuspec"
]
},
"Microsoft.EntityFrameworkCore/7.0.0": {
"sha512": "9W+IfmAzMrp2ZpKZLhgTlWljSBM9Erldis1us61DAGi+L7Q6vilTbe1G2zDxtYO8F2H0I0Qnupdx5Cp4s2xoZw==",
"type": "package",
"path": "microsoft.entityframeworkcore/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props",
"lib/net6.0/Microsoft.EntityFrameworkCore.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.xml",
"microsoft.entityframeworkcore.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Abstractions/7.0.0": {
"sha512": "Pfu3Zjj5+d2Gt27oE9dpGiF/VobBB+s5ogrfI9sBsXQE1SG49RqVz5+IyeNnzhyejFrPIQsPDRMchhcojy4Hbw==",
"type": "package",
"path": "microsoft.entityframeworkcore.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml",
"microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.abstractions.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Analyzers/7.0.0": {
"sha512": "Qkd2H+jLe37o5ku+LjT6qf7kAHY75Yfn2bBDQgqr13DTOLYpEy1Mt93KPFjaZvIu/srEcbfGGMRL7urKm5zN8Q==",
"type": "package",
"path": "microsoft.entityframeworkcore.analyzers/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll",
"lib/netstandard2.0/_._",
"microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.analyzers.nuspec"
]
},
"Microsoft.EntityFrameworkCore.Relational/7.0.0": {
"sha512": "eQiYygtR2xZ0Uy7KtiFRHpoEx/U8xNwbNRgu1pEJgSxbJLtg6tDL1y2YcIbSuIRSNEljXIIHq/apEhGm1QL70g==",
"type": "package",
"path": "microsoft.entityframeworkcore.relational/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll",
"lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml",
"microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512",
"microsoft.entityframeworkcore.relational.nuspec"
]
},
"Microsoft.Extensions.Caching.Abstractions/7.0.0": {
"sha512": "IeimUd0TNbhB4ded3AbgBLQv2SnsiVugDyGV1MvspQFVlA07nDC7Zul7kcwH5jWN3JiTcp/ySE83AIJo8yfKjg==",
"type": "package",
"path": "microsoft.extensions.caching.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml",
"microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.caching.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Caching.Memory/7.0.0": {
"sha512": "xpidBs2KCE2gw1JrD0quHE72kvCaI3xFql5/Peb2GRtUuZX+dYPoK/NTdVMiM67Svym0M0Df9A3xyU0FbMQhHw==",
"type": "package",
"path": "microsoft.extensions.caching.memory/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets",
"lib/net462/Microsoft.Extensions.Caching.Memory.dll",
"lib/net462/Microsoft.Extensions.Caching.Memory.xml",
"lib/net6.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/net6.0/Microsoft.Extensions.Caching.Memory.xml",
"lib/net7.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/net7.0/Microsoft.Extensions.Caching.Memory.xml",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll",
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml",
"microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
"microsoft.extensions.caching.memory.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"sha512": "f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"type": "package",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection/7.0.0": {
"sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"sha512": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Identity.Core/7.0.0": {
"sha512": "cq11jroq2szFcXLJ0IW5BlI7oqq3ZGCu1mXCnpJ8VIvhvpIzf30AOoWR/w3YRVdAgkYzxbUQpKGZd+oxAKQhLA==",
"type": "package",
"path": "microsoft.extensions.identity.core/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.Extensions.Identity.Core.dll",
"lib/net462/Microsoft.Extensions.Identity.Core.xml",
"lib/net7.0/Microsoft.Extensions.Identity.Core.dll",
"lib/net7.0/Microsoft.Extensions.Identity.Core.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Core.xml",
"microsoft.extensions.identity.core.7.0.0.nupkg.sha512",
"microsoft.extensions.identity.core.nuspec"
]
},
"Microsoft.Extensions.Identity.Stores/7.0.0": {
"sha512": "feaaluQbzJAMMluwSc7Rebm7IEVAD8/5GWt0dMYLE0tcc6gAsHYjBIBrPzmTstORd7k405Qo18FPF/jTfRsM0A==",
"type": "package",
"path": "microsoft.extensions.identity.stores/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net462/Microsoft.Extensions.Identity.Stores.dll",
"lib/net462/Microsoft.Extensions.Identity.Stores.xml",
"lib/net7.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/net7.0/Microsoft.Extensions.Identity.Stores.xml",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.dll",
"lib/netstandard2.0/Microsoft.Extensions.Identity.Stores.xml",
"microsoft.extensions.identity.stores.7.0.0.nupkg.sha512",
"microsoft.extensions.identity.stores.nuspec"
]
},
"Microsoft.Extensions.Logging/7.0.0": {
"sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==",
"type": "package",
"path": "microsoft.extensions.logging/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Logging.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
"lib/net462/Microsoft.Extensions.Logging.dll",
"lib/net462/Microsoft.Extensions.Logging.xml",
"lib/net6.0/Microsoft.Extensions.Logging.dll",
"lib/net6.0/Microsoft.Extensions.Logging.xml",
"lib/net7.0/Microsoft.Extensions.Logging.dll",
"lib/net7.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
"microsoft.extensions.logging.7.0.0.nupkg.sha512",
"microsoft.extensions.logging.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/7.0.0": {
"sha512": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Options/7.0.0": {
"sha512": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==",
"type": "package",
"path": "microsoft.extensions.options/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Options.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
"lib/net462/Microsoft.Extensions.Options.dll",
"lib/net462/Microsoft.Extensions.Options.xml",
"lib/net6.0/Microsoft.Extensions.Options.dll",
"lib/net6.0/Microsoft.Extensions.Options.xml",
"lib/net7.0/Microsoft.Extensions.Options.dll",
"lib/net7.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.7.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Primitives/7.0.0": {
"sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
"type": "package",
"path": "microsoft.extensions.primitives/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
"lib/net462/Microsoft.Extensions.Primitives.dll",
"lib/net462/Microsoft.Extensions.Primitives.xml",
"lib/net6.0/Microsoft.Extensions.Primitives.dll",
"lib/net6.0/Microsoft.Extensions.Primitives.xml",
"lib/net7.0/Microsoft.Extensions.Primitives.dll",
"lib/net7.0/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.7.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net8.0": [
"Microsoft.AspNetCore.Identity.EntityFrameworkCore >= 7.0.0",
"Microsoft.EntityFrameworkCore >= 7.0.0",
"Microsoft.Extensions.DependencyInjection >= 7.0.0"
]
},
"packageFolders": {
"C:\\Users\\changeself\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"projectName": "CellularManagement.Domain",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[7.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}

27
src/CellularManagement.Domain/obj/project.nuget.cache

@ -1,27 +0,0 @@
{
"version": 2,
"dgSpecHash": "M9DaSeXNF/Y=",
"success": true,
"projectFilePath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"expectedPackageFiles": [
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\7.0.0\\microsoft.aspnetcore.cryptography.internal.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\7.0.0\\microsoft.aspnetcore.cryptography.keyderivation.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\7.0.0\\microsoft.aspnetcore.identity.entityframeworkcore.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore\\7.0.0\\microsoft.entityframeworkcore.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.0\\microsoft.entityframeworkcore.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\7.0.0\\microsoft.entityframeworkcore.analyzers.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\7.0.0\\microsoft.entityframeworkcore.relational.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\7.0.0\\microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\7.0.0\\microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.core\\7.0.0\\microsoft.extensions.identity.core.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.stores\\7.0.0\\microsoft.extensions.identity.stores.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging\\7.0.0\\microsoft.extensions.logging.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.primitives\\7.0.0\\microsoft.extensions.primitives.7.0.0.nupkg.sha512"
],
"logs": []
}

43
src/CellularManagement.Infrastructure/Configurations/BaseEntityConfiguration.cs

@ -1,43 +0,0 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using CellularManagement.Domain.Abstractions;
namespace CellularManagement.Infrastructure.Configurations;
/// <summary>
/// 基础实体配置类
/// 包含审计字段的通用配置,为所有可审计实体提供统一的数据库映射配置
/// </summary>
/// <typeparam name="TEntity">实体类型,必须继承自 AuditableEntity</typeparam>
public abstract class BaseEntityConfiguration<TEntity> : IEntityTypeConfiguration<TEntity>
where TEntity : AuditableEntity
{
/// <summary>
/// 配置基础实体
/// 设置实体的主键和审计字段的数据库映射
/// </summary>
/// <param name="builder">实体类型构建器,用于配置实体的数据库映射</param>
public virtual void Configure(EntityTypeBuilder<TEntity> builder)
{
// 配置主键
// 使用 Id 作为实体的主键
builder.HasKey(e => e.Id);
// 配置审计字段
// 创建时间:必填字段,记录实体的创建时间
builder.Property(e => e.CreatedAt)
.IsRequired();
// 更新时间:必填字段,记录实体的最后更新时间
builder.Property(e => e.UpdatedAt)
.IsRequired();
// 创建人:可选字段,最大长度256,记录创建实体的用户ID
builder.Property(e => e.CreatedBy)
.HasMaxLength(256);
// 更新人:可选字段,最大长度256,记录最后更新实体的用户ID
builder.Property(e => e.UpdatedBy)
.HasMaxLength(256);
}
}

140
src/CellularManagement.Infrastructure/DependencyInjection.cs

@ -1,140 +0,0 @@
using CellularManagement.Infrastructure.Context;
using CellularManagement.Infrastructure.Options;
using CellularManagement.Infrastructure.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using CellularManagement.Domain.Entities;
using CellularManagement.Domain.Repositories;
using CellularManagement.Domain.Abstractions;
using CellularManagement.Application.Services;
using CellularManagement.Infrastructure.Services;
using System.Text;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
using Microsoft.Extensions.Hosting;
using Scrutor;
namespace CellularManagement.Infrastructure;
/// <summary>
/// 依赖注入扩展方法
/// </summary>
public static class DependencyInjection
{
/// <summary>
/// 添加基础设施服务
/// </summary>
/// <param name="services">服务集合</param>
/// <param name="configuration">配置</param>
/// <returns>服务集合</returns>
public static IServiceCollection AddInfrastructure(
this IServiceCollection services,
IConfiguration configuration)
{
ArgumentNullException.ThrowIfNull(services);
ArgumentNullException.ThrowIfNull(configuration);
var assembly = typeof(DependencyInjection).Assembly;
var databaseOptions = configuration
.GetSection(DatabaseOptions.SectionName)
.Get<DatabaseOptions>();
if (databaseOptions is null)
{
throw new ArgumentNullException(
nameof(databaseOptions),
"Database options not configured");
}
// 配置 JWT 选项
services.Configure<JwtOptions>(configuration.GetSection(JwtOptions.SectionName));
services.ConfigureOptions<JwtBearerOptionsSetup>();
// 配置数据库选项
services.Configure<DatabaseOptions>(configuration.GetSection(DatabaseOptions.SectionName));
var databaseOptionsConfig = configuration.GetSection(DatabaseOptions.SectionName).Get<DatabaseOptions>();
if (databaseOptionsConfig?.DefaultConnection is null)
{
throw new ArgumentNullException(
nameof(databaseOptionsConfig.DefaultConnection),
"Database connection string not configured");
}
// 注册密钥轮换服务
services.AddSingleton<IKeyRotationService, KeyRotationService>();
services.AddHostedService<KeyRotationBackgroundService>();
// 配置数据库上下文
services.AddDbContext<AppDbContext>(options =>
{
// 使用 PostgreSQL 数据库
options.UseNpgsql(
databaseOptionsConfig.DefaultConnection,
sqlOptions =>
{
// 配置重试策略
sqlOptions.EnableRetryOnFailure(3);
// 配置命令超时时间
sqlOptions.CommandTimeout(databaseOptionsConfig.CommandTimeout);
});
// 配置详细错误信息
if (databaseOptionsConfig.EnableDetailedErrors)
{
options.EnableDetailedErrors();
}
// 配置敏感数据日志记录
if (databaseOptionsConfig.EnableSensitiveDataLogging)
{
options.EnableSensitiveDataLogging();
}
});
// 配置身份认证
services
.AddAuthentication()
.AddJwtBearer();
services
.AddAuthorization();
// 配置身份认证服务
services
.AddIdentityCore<AppUser>()
.AddRoles<AppRole>()
.AddEntityFrameworkStores<AppDbContext>();
// 注册工作单元
services.AddScoped<IUnitOfWork, UnitOfWork>();
// 注册仓储
services.AddScoped(typeof(ICommandRepository<>), typeof(CommandRepository<>));
services.AddScoped(typeof(IQueryRepository<>), typeof(QueryRepository<>));
// 添加内存缓存
services.AddMemoryCache();
// 注册缓存服务
services.AddScoped<ICacheService, CacheService>();
// 自动注册服务
services
.Scan(action =>
{
action
.FromAssemblies(assembly)
.AddClasses(false)
.UsingRegistrationStrategy(RegistrationStrategy.Skip)
.AsImplementedInterfaces()
.WithScopedLifetime();
});
return services;
}
}

166
src/CellularManagement.Infrastructure/Migrations/20250427103103_InitialCreate.Designer.cs

@ -1,166 +0,0 @@
// <auto-generated />
using System;
using CellularManagement.Infrastructure.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace CellularManagement.Infrastructure.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20250427103103_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("CellularManagement.Domain.Entities.AppRole", b =>
{
b.Property<string>("Id")
.HasColumnType("text")
.HasComment("角色ID,主键");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text")
.HasComment("并发控制戳");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("角色名称");
b.Property<string>("NormalizedName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化角色名称(大写)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique()
.HasDatabaseName("IX_Roles_Name");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("Roles", null, t =>
{
t.HasComment("角色表");
});
});
modelBuilder.Entity("CellularManagement.Domain.Entities.AppUser", b =>
{
b.Property<string>("Id")
.HasColumnType("text")
.HasComment("用户ID,主键");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer")
.HasComment("登录失败次数");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text")
.HasComment("并发控制戳");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("电子邮箱");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean")
.HasComment("邮箱是否已验证");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean")
.HasComment("是否启用账户锁定");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone")
.HasComment("账户锁定结束时间");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化电子邮箱(大写)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化用户名(大写)");
b.Property<string>("PasswordHash")
.HasColumnType("text")
.HasComment("密码哈希值");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("text")
.HasComment("电话号码");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean")
.HasComment("电话号码是否已验证");
b.Property<string>("SecurityStamp")
.HasColumnType("text")
.HasComment("安全戳,用于并发控制");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean")
.HasComment("是否启用双因素认证");
b.Property<string>("UserName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("用户名");
b.HasKey("Id");
b.HasIndex("Email")
.IsUnique()
.HasDatabaseName("IX_Users_Email");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.HasIndex("PhoneNumber")
.IsUnique()
.HasDatabaseName("IX_Users_PhoneNumber");
b.HasIndex("UserName")
.IsUnique()
.HasDatabaseName("IX_Users_UserName");
b.ToTable("Users", null, t =>
{
t.HasComment("用户表");
});
});
#pragma warning restore 612, 618
}
}
}

107
src/CellularManagement.Infrastructure/Migrations/20250427103103_InitialCreate.cs

@ -1,107 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CellularManagement.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Roles",
columns: table => new
{
Id = table.Column<string>(type: "text", nullable: false, comment: "角色ID,主键"),
Name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false, comment: "角色名称"),
NormalizedName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false, comment: "标准化角色名称(大写)"),
ConcurrencyStamp = table.Column<string>(type: "text", nullable: true, comment: "并发控制戳")
},
constraints: table =>
{
table.PrimaryKey("PK_Roles", x => x.Id);
},
comment: "角色表");
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
{
Id = table.Column<string>(type: "text", nullable: false, comment: "用户ID,主键"),
UserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false, comment: "用户名"),
NormalizedUserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true, comment: "标准化用户名(大写)"),
Email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false, comment: "电子邮箱"),
NormalizedEmail = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true, comment: "标准化电子邮箱(大写)"),
EmailConfirmed = table.Column<bool>(type: "boolean", nullable: false, comment: "邮箱是否已验证"),
PasswordHash = table.Column<string>(type: "text", nullable: true, comment: "密码哈希值"),
SecurityStamp = table.Column<string>(type: "text", nullable: true, comment: "安全戳,用于并发控制"),
ConcurrencyStamp = table.Column<string>(type: "text", nullable: true, comment: "并发控制戳"),
PhoneNumber = table.Column<string>(type: "text", nullable: false, comment: "电话号码"),
PhoneNumberConfirmed = table.Column<bool>(type: "boolean", nullable: false, comment: "电话号码是否已验证"),
TwoFactorEnabled = table.Column<bool>(type: "boolean", nullable: false, comment: "是否启用双因素认证"),
LockoutEnd = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true, comment: "账户锁定结束时间"),
LockoutEnabled = table.Column<bool>(type: "boolean", nullable: false, comment: "是否启用账户锁定"),
AccessFailedCount = table.Column<int>(type: "integer", nullable: false, comment: "登录失败次数")
},
constraints: table =>
{
table.PrimaryKey("PK_Users", x => x.Id);
},
comment: "用户表");
migrationBuilder.CreateIndex(
name: "IX_Roles_Name",
table: "Roles",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "RoleNameIndex",
table: "Roles",
column: "NormalizedName",
unique: true);
migrationBuilder.CreateIndex(
name: "EmailIndex",
table: "Users",
column: "NormalizedEmail");
migrationBuilder.CreateIndex(
name: "IX_Users_Email",
table: "Users",
column: "Email",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Users_PhoneNumber",
table: "Users",
column: "PhoneNumber",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Users_UserName",
table: "Users",
column: "UserName",
unique: true);
migrationBuilder.CreateIndex(
name: "UserNameIndex",
table: "Users",
column: "NormalizedUserName",
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Roles");
migrationBuilder.DropTable(
name: "Users");
}
}
}

163
src/CellularManagement.Infrastructure/Migrations/AppDbContextModelSnapshot.cs

@ -1,163 +0,0 @@
// <auto-generated />
using System;
using CellularManagement.Infrastructure.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace CellularManagement.Infrastructure.Migrations
{
[DbContext(typeof(AppDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("CellularManagement.Domain.Entities.AppRole", b =>
{
b.Property<string>("Id")
.HasColumnType("text")
.HasComment("角色ID,主键");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text")
.HasComment("并发控制戳");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("角色名称");
b.Property<string>("NormalizedName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化角色名称(大写)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique()
.HasDatabaseName("IX_Roles_Name");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("Roles", null, t =>
{
t.HasComment("角色表");
});
});
modelBuilder.Entity("CellularManagement.Domain.Entities.AppUser", b =>
{
b.Property<string>("Id")
.HasColumnType("text")
.HasComment("用户ID,主键");
b.Property<int>("AccessFailedCount")
.HasColumnType("integer")
.HasComment("登录失败次数");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("text")
.HasComment("并发控制戳");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("电子邮箱");
b.Property<bool>("EmailConfirmed")
.HasColumnType("boolean")
.HasComment("邮箱是否已验证");
b.Property<bool>("LockoutEnabled")
.HasColumnType("boolean")
.HasComment("是否启用账户锁定");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("timestamp with time zone")
.HasComment("账户锁定结束时间");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化电子邮箱(大写)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("标准化用户名(大写)");
b.Property<string>("PasswordHash")
.HasColumnType("text")
.HasComment("密码哈希值");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("text")
.HasComment("电话号码");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("boolean")
.HasComment("电话号码是否已验证");
b.Property<string>("SecurityStamp")
.HasColumnType("text")
.HasComment("安全戳,用于并发控制");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("boolean")
.HasComment("是否启用双因素认证");
b.Property<string>("UserName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasComment("用户名");
b.HasKey("Id");
b.HasIndex("Email")
.IsUnique()
.HasDatabaseName("IX_Users_Email");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.HasIndex("PhoneNumber")
.IsUnique()
.HasDatabaseName("IX_Users_PhoneNumber");
b.HasIndex("UserName")
.IsUnique()
.HasDatabaseName("IX_Users_UserName");
b.ToTable("Users", null, t =>
{
t.HasComment("用户表");
});
});
#pragma warning restore 612, 618
}
}
}

112
src/CellularManagement.Infrastructure/Options/JwtBearerOptionsSetup.cs

@ -1,112 +0,0 @@
using System.Text;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
namespace CellularManagement.Infrastructure.Options;
/// <summary>
/// JWT Bearer 认证配置类
/// </summary>
public class JwtBearerOptionsSetup : IConfigureOptions<JwtBearerOptions>
{
private readonly JwtOptions _jwtOptions;
private readonly ILogger<JwtBearerOptionsSetup> _logger;
public JwtBearerOptionsSetup(
IOptions<JwtOptions> jwtOptions,
ILogger<JwtBearerOptionsSetup> logger)
{
_jwtOptions = jwtOptions.Value;
_logger = logger;
// 验证密钥强度
_jwtOptions.ValidateKeyStrength();
}
public void Configure(JwtBearerOptions options)
{
// 创建对称安全密钥
var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtOptions.SecretKey));
// 配置令牌验证参数
options.TokenValidationParameters = new TokenValidationParameters
{
// 验证颁发者
ValidateIssuer = true,
ValidIssuer = _jwtOptions.Issuer,
// 验证受众
ValidateAudience = true,
ValidAudience = _jwtOptions.Audience,
// 验证过期时间
ValidateLifetime = true,
// 设置签名密钥
IssuerSigningKey = securityKey,
ValidateIssuerSigningKey = true,
// 配置时钟偏差
ClockSkew = TimeSpan.FromMinutes(_jwtOptions.ClockSkewMinutes),
// 其他安全设置
RequireExpirationTime = true,
RequireSignedTokens = true,
RequireAudience = true
};
// 配置事件处理
options.Events = new JwtBearerEvents
{
// 认证失败时记录日志
OnAuthenticationFailed = context =>
{
_logger.LogError(context.Exception, "JWT 认证失败: {Message}", context.Exception?.Message);
return Task.CompletedTask;
},
// 令牌验证成功时
OnTokenValidated = context =>
{
var claimsIdentity = context.Principal?.Identity as System.Security.Claims.ClaimsIdentity;
if (claimsIdentity == null)
{
context.Fail("无效的身份声明");
return Task.CompletedTask;
}
_logger.LogInformation("JWT 令牌验证成功: {Subject}",
claimsIdentity.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier)?.Value);
return Task.CompletedTask;
},
// 消息接收时
OnMessageReceived = context =>
{
// 从查询字符串中获取令牌
var accessToken = context.Request.Query["access_token"];
if (!string.IsNullOrEmpty(accessToken))
{
context.Token = accessToken;
}
return Task.CompletedTask;
},
// 质询时
OnChallenge = context =>
{
_logger.LogWarning("JWT 质询: {Error}", context.Error);
return Task.CompletedTask;
}
};
// 强制使用 HTTPS
options.RequireHttpsMetadata = true;
// 不保存令牌
options.SaveToken = false;
}
}

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Application.dll

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Application.pdb

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Domain.dll

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Domain.pdb

Binary file not shown.

1099
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.deps.json

File diff suppressed because it is too large

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.dll

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.pdb

Binary file not shown.

19
src/CellularManagement.Infrastructure/bin/Debug/net8.0/CellularManagement.Infrastructure.runtimeconfig.json

@ -1,19 +0,0 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Reflection.NullabilityInfoContext.IsSupported": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

28
src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.EntityFrameworkCore.targets

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="GetEFProjectMetadata">
<MSBuild Condition=" '$(TargetFramework)' == '' "
Projects="$(MSBuildProjectFile)"
Targets="GetEFProjectMetadata"
Properties="TargetFramework=$(TargetFrameworks.Split(';')[0]);EFProjectMetadataFile=$(EFProjectMetadataFile)" />
<ItemGroup Condition=" '$(TargetFramework)' != '' ">
<EFProjectMetadata Include="AssemblyName: $(AssemblyName)" />
<EFProjectMetadata Include="Language: $(Language)" />
<EFProjectMetadata Include="OutputPath: $(OutputPath)" />
<EFProjectMetadata Include="Platform: $(Platform)" />
<EFProjectMetadata Include="PlatformTarget: $(PlatformTarget)" />
<EFProjectMetadata Include="ProjectAssetsFile: $(ProjectAssetsFile)" />
<EFProjectMetadata Include="ProjectDir: $(ProjectDir)" />
<EFProjectMetadata Include="RootNamespace: $(RootNamespace)" />
<EFProjectMetadata Include="RuntimeFrameworkVersion: $(RuntimeFrameworkVersion)" />
<EFProjectMetadata Include="TargetFileName: $(TargetFileName)" />
<EFProjectMetadata Include="TargetFrameworkMoniker: $(TargetFrameworkMoniker)" />
<EFProjectMetadata Include="Nullable: $(Nullable)" />
<EFProjectMetadata Include="TargetFramework: $(TargetFramework)" />
<EFProjectMetadata Include="TargetPlatformIdentifier: $(TargetPlatformIdentifier)" />
</ItemGroup>
<WriteLinesToFile Condition=" '$(TargetFramework)' != '' "
File="$(EFProjectMetadataFile)"
Lines="@(EFProjectMetadata)" />
</Target>
</Project>

277
src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.dgspec.json

@ -1,277 +0,0 @@
{
"format": 1,
"restore": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\CellularManagement.Infrastructure.csproj": {}
},
"projects": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"projectName": "CellularManagement.Application",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[8.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"projectName": "CellularManagement.Domain",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.DependencyInjection": {
"target": "Package",
"version": "[7.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\CellularManagement.Infrastructure.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\CellularManagement.Infrastructure.csproj",
"projectName": "CellularManagement.Infrastructure",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\CellularManagement.Infrastructure.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj": {
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Application\\CellularManagement.Application.csproj"
},
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj": {
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Domain\\CellularManagement.Domain.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Microsoft.AspNetCore.Authentication.JwtBearer": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.AspNetCore.Authorization": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.Extensions.Configuration": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[8.0.0, )"
},
"Npgsql.EntityFrameworkCore.PostgreSQL": {
"target": "Package",
"version": "[8.0.0, )"
},
"Scrutor": {
"target": "Package",
"version": "[4.2.2, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

23
src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.g.props

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\changeself\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\changeself\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.0\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.0\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.0\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.0\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\changeself\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project>

9
src/CellularManagement.Infrastructure/obj/CellularManagement.Infrastructure.csproj.nuget.g.targets

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
</ImportGroup>
</Project>

4
src/CellularManagement.Infrastructure/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

0
src/CellularManagement.Infrastructure/obj/Debug/net8.0/Cellular.F67AF22D.Up2Date

22
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.AssemblyInfo.cs

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CellularManagement.Infrastructure")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("CellularManagement.Infrastructure")]
[assembly: System.Reflection.AssemblyTitleAttribute("CellularManagement.Infrastructure")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

1
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.AssemblyInfoInputs.cache

@ -1 +0,0 @@
4400330d23beb4f3571ec0e32e6f70021f06398ff98ae8ace59717d132777aff

15
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig

@ -1,15 +0,0 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = CellularManagement.Infrastructure
build_property.ProjectDir = D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

8
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.GlobalUsings.g.cs

@ -1,8 +0,0 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.assets.cache

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.AssemblyReference.cache

Binary file not shown.

1
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.CoreCompileInputs.cache

@ -1 +0,0 @@
d9bda7c9895a366d26bd4ed2ba5c9826acbb03d47916eaac923e899d16ee5cac

19
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.csproj.FileListAbsolute.txt

@ -1,19 +0,0 @@
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Infrastructure.deps.json
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Infrastructure.runtimeconfig.json
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Infrastructure.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Infrastructure.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Application.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Domain.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Domain.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\bin\Debug\net8.0\CellularManagement.Application.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.csproj.AssemblyReference.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.AssemblyInfoInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.AssemblyInfo.cs
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.csproj.CoreCompileInputs.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\Cellular.F67AF22D.Up2Date
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\refint\CellularManagement.Infrastructure.dll
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.pdb
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\CellularManagement.Infrastructure.genruntimeconfig.cache
D:\dev\clean-architecture-starter-main\CellularManagement\src\CellularManagement.Infrastructure\obj\Debug\net8.0\ref\CellularManagement.Infrastructure.dll

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.dll

Binary file not shown.

1
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.genruntimeconfig.cache

@ -1 +0,0 @@
3d30b9e10459049b7866b4fdf32cd35835d7286b315038de84739e18adb07a13

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/CellularManagement.Infrastructure.pdb

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/ref/CellularManagement.Infrastructure.dll

Binary file not shown.

BIN
src/CellularManagement.Infrastructure/obj/Debug/net8.0/refint/CellularManagement.Infrastructure.dll

Binary file not shown.

3123
src/CellularManagement.Infrastructure/obj/project.assets.json

File diff suppressed because it is too large

67
src/CellularManagement.Infrastructure/obj/project.nuget.cache

@ -1,67 +0,0 @@
{
"version": 2,
"dgSpecHash": "9dsl2J1lM14=",
"success": true,
"projectFilePath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Infrastructure\\CellularManagement.Infrastructure.csproj",
"expectedPackageFiles": [
"C:\\Users\\changeself\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\8.0.0\\microsoft.aspnetcore.authentication.jwtbearer.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.authorization\\8.0.0\\microsoft.aspnetcore.authorization.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\8.0.0\\microsoft.aspnetcore.cryptography.internal.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\8.0.0\\microsoft.aspnetcore.cryptography.keyderivation.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\8.0.0\\microsoft.aspnetcore.identity.entityframeworkcore.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.aspnetcore.metadata\\8.0.0\\microsoft.aspnetcore.metadata.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.0\\microsoft.entityframeworkcore.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.0\\microsoft.entityframeworkcore.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.0\\microsoft.entityframeworkcore.analyzers.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.0\\microsoft.entityframeworkcore.design.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.0\\microsoft.entityframeworkcore.relational.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.0\\microsoft.extensions.caching.memory.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.0\\microsoft.extensions.dependencymodel.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.core\\8.0.0\\microsoft.extensions.identity.core.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.identity.stores\\8.0.0\\microsoft.extensions.identity.stores.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.abstractions\\7.0.3\\microsoft.identitymodel.abstractions.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\7.0.3\\microsoft.identitymodel.jsonwebtokens.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.logging\\7.0.3\\microsoft.identitymodel.logging.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.protocols\\7.0.3\\microsoft.identitymodel.protocols.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\7.0.3\\microsoft.identitymodel.protocols.openidconnect.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\microsoft.identitymodel.tokens\\7.0.3\\microsoft.identitymodel.tokens.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\npgsql\\8.0.0\\npgsql.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.0\\npgsql.entityframeworkcore.postgresql.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\scrutor\\4.2.2\\scrutor.4.2.2.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.identitymodel.tokens.jwt\\7.0.3\\system.identitymodel.tokens.jwt.7.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512",
"C:\\Users\\changeself\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512"
],
"logs": []
}

14
src/CellularManagement.Presentation/CellularManagement.Presentation.csproj

@ -1,14 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="MediatR" Version="12.2.0" />
</ItemGroup>
</Project>

1
src/CellularManagement.Presentation/DependencyInjectionExtensions.cs

@ -1 +0,0 @@

1293
src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.deps.json

File diff suppressed because it is too large

BIN
src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.dll

Binary file not shown.

BIN
src/CellularManagement.Presentation/bin/Debug/net8.0/CellularManagement.Presentation.pdb

Binary file not shown.

84
src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.dgspec.json

@ -1,84 +0,0 @@
{
"format": 1,
"restore": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Presentation\\CellularManagement.Presentation.csproj": {}
},
"projects": {
"D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Presentation\\CellularManagement.Presentation.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Presentation\\CellularManagement.Presentation.csproj",
"projectName": "CellularManagement.Presentation",
"projectPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Presentation\\CellularManagement.Presentation.csproj",
"packagesPath": "C:\\Users\\changeself\\.nuget\\packages\\",
"outputPath": "D:\\dev\\clean-architecture-starter-main\\CellularManagement\\src\\CellularManagement.Presentation\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\changeself\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"D:\\NuGetPackages": {},
"https://api.nuget.org/v3/index.json": {},
"https://www.nuget.org/api/v2": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"MediatR": {
"target": "Package",
"version": "[12.2.0, )"
},
"Microsoft.AspNetCore.Mvc.Core": {
"target": "Package",
"version": "[2.2.5, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.105/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

19
src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.g.props

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\changeself\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\changeself\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgNewtonsoft_Json Condition=" '$(PkgNewtonsoft_Json)' == '' ">C:\Users\changeself\.nuget\packages\newtonsoft.json\9.0.1</PkgNewtonsoft_Json>
</PropertyGroup>
</Project>

2
src/CellularManagement.Presentation/obj/CellularManagement.Presentation.csproj.nuget.g.targets

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

4
src/CellularManagement.Presentation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

22
src/CellularManagement.Presentation/obj/Debug/net8.0/CellularManagement.Presentation.AssemblyInfo.cs

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("CellularManagement.Presentation")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("CellularManagement.Presentation")]
[assembly: System.Reflection.AssemblyTitleAttribute("CellularManagement.Presentation")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

1
src/CellularManagement.Presentation/obj/Debug/net8.0/CellularManagement.Presentation.AssemblyInfoInputs.cache

@ -1 +0,0 @@
1637dd0f1f892e1caaa12a0723bde19c8a3100f22a8056535f2eb729253e56a9

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save