skill和随机数问题
This commit is contained in:
parent
824574fc44
commit
8a33f812a6
149
.codex/skills/th1-action-logic/SKILL.md
Normal file
149
.codex/skills/th1-action-logic/SKILL.md
Normal file
@ -0,0 +1,149 @@
|
||||
---
|
||||
name: th1-action-logic
|
||||
description: TH1 project-specific behavior/action logic guide for Unity C# action execution, CommonActionParams/CommonActionId, ActionLogicFactory, CheckCan/CheckShow/CompleteExecute, player input actions, AI action generation/scoring/execution, turn actions, ActionNetData multiplayer synchronization, deterministic random, and skill lifecycle side effects. Use whenever Codex works on TH1 Action/行为逻辑, UnitMove/UnitAttack/Build/Train/GridMisc/PlayerAction/LearnTech/TurnStart/TurnEnd, AIActionGenerator/AIActionScoreCalculator/BTNodeCanvas AI nodes, action replay/spectator, or bugs involving action desync, illegal actions, AI choosing/executing actions, or action-triggered skills.
|
||||
---
|
||||
|
||||
# TH1 Action Logic
|
||||
|
||||
## Core Rule
|
||||
|
||||
TH1 的 action 是玩家、AI、网络同步、回放、技能触发共同使用的权威行为层。任何会改变 `MapData` 的行为都应尽量进入 `ActionLogicBase.CompleteExecute` 流程,不能只在 UI、AI 或网络接收处直接改数据。
|
||||
|
||||
处理 action 问题时同时考虑四条链路:
|
||||
|
||||
- 本地玩家输入/UI 是否能正确构造 `CommonActionParams` 并调用 action。
|
||||
- `CheckCan`/`CheckShow` 是否区分了权威可执行与 UI 展示状态。
|
||||
- AI 是否能生成、过滤、评分并最终执行同一个 action。
|
||||
- 多人同步、回放、AI 评分模拟是否仍然确定性一致。
|
||||
|
||||
## First Read
|
||||
|
||||
先读这些文件,再改代码:
|
||||
|
||||
- `MD/GameMDFramework/03-行为系统-Action.md` - action 架构、参数、执行、同步概览。
|
||||
- `MD/GameMDFramework/06-AI系统.md` - AI 行为树、action 生成和评分概览。
|
||||
- `MD/GameMDFramework/11-网络与Steam.md` - ActionConfirm/ActionExecute/ForceUpdate/MapConfirm 概览。
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Action/ActionLogic.cs` - `CommonActionType`、`CommonActionId`、`CommonActionParams`、`ActionLogicFactory`、`ActionLogicBase` 和核心 action。
|
||||
- `Unity/Assets/Scripts/TH1_Logic/AI/AIActionGenerator.cs`、`AIActionScoreCalculator.cs`、`AILogic.cs` - AI 生成、评分、执行。
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Steam/GameNetSender.cs`、`GameNetReceiver.cs`、`SteamObjectSerializer.cs` 和 `Unity/Assets/Scripts/TH1_Data/NetData.cs` - 多人同步与 action 日志。
|
||||
|
||||
需要完整代码地图时加载 `references/action-logic-map.md`。
|
||||
|
||||
## Canonical Flow
|
||||
|
||||
标准行为流:
|
||||
|
||||
1. UI、地图点击、AI、网络消息或回放构造 `CommonActionId` 与 `CommonActionParams`。
|
||||
2. 参数对象必须持有 `MapData`,并在对象引用和 ID 之间调用正确的同步函数。
|
||||
3. 从 `ActionLogicFactory` 取到 `ActionLogicBase`。
|
||||
4. UI 用 `CheckShow`/`CheckShowState` 渲染,真正执行前用 `CheckCan`。
|
||||
5. 正式行为调用 `CompleteExecute`。多人模式下它会自动走发送、广播、本地执行或客户端等待。
|
||||
6. `BeforeExecute` 在真实主地图上写入 `MapData.Net.Actions`。
|
||||
7. `Execute` 改变地图、玩家、单位、城市、格子等权威数据。
|
||||
8. `AfterExecute` 触发 `MapData.OnActionExecuted`、技能事件、UI 刷新、分数/结算等后处理。
|
||||
|
||||
只有明确是嵌套副行为且不应成为独立 action 日志时,才使用 `ExecuteWithoutFullActionPeriod`。
|
||||
|
||||
## Params And IDs
|
||||
|
||||
`CommonActionParams` 是 MemoryPack 同步对象。对象引用字段如 `PlayerData`、`UnitData`、`CityData`、`GridData`、`TargetUnitData`、`TargetGridData`、`TargetPlayerData` 是运行时引用;同步和存档依赖对应的 ID 字段。
|
||||
|
||||
- 修改对象引用后调用 `OnParamChanged()`,让 ID 跟上引用。
|
||||
- 网络接收、回放、深拷贝、AI 模拟后设置 `Param.MapData`,再调用 `RefreshParams()`,让引用从 ID 恢复。
|
||||
- 复制参数用 `GetCopyParam()`,不要手写半套 ID/引用。
|
||||
- 传给 AI 或网络的参数必须能仅靠 ID 在目标 `MapData` 中恢复。
|
||||
|
||||
`CommonActionId` 的 `Id`、相等判断、日志输出依赖 action 类型和子类型字段。新增子字段或新的 action 维度时,必须同步更新 hash、`==`、`!=`、日志和所有工厂注册/生成处。
|
||||
|
||||
## Changing An Action
|
||||
|
||||
改已有 action 时:
|
||||
|
||||
- 找到具体类:`BuildActionLogic.cs`、`TrainUnitActionLogic.cs`、`GridMiscActionLogic.cs`、`UnitActionLogic.cs`、`AttackAllyActionLogic.cs`、`PlayerActionLogic.cs` 或 `ActionLogic.cs`。
|
||||
- 先读 `Execute`、`CheckCan`、`CheckShow`、`CheckShowState`、`CameraControl`、`GetAnimTime`,确认 UI、AI、网络是否共用该逻辑。
|
||||
- 权威数据变化放在 `Execute` 或被 `Execute` 调用的逻辑中。
|
||||
- 动画、镜头、UI、音效、可见性相关代码要守住 `actionParams.MapData == Main.MapData`,必要时再加视野判断。
|
||||
- `CheckCan` 是权威合法性,必须能保护网络接收和 AI 执行;`CheckShow` 是展示入口,允许更宽松但不能承担安全性。
|
||||
- 金钱、文化、行动点、人口、冷却、科技、外交、领土、单位占格等消耗和限制必须在 `CheckCan` 与 `Execute` 保持一致。
|
||||
|
||||
新增 action 时:
|
||||
|
||||
1. 决定是否需要新的 `CommonActionType`,还是使用已有 action 的子类型枚举。
|
||||
2. 更新 `CommonActionId` 的字段、hash、相等和日志。
|
||||
3. 在 `ActionLogicFactory.Refresh()` 注册 action,并检查 `GetMainObjectType()`、`PlayerHasAction`、`GridHasAction`、`CityHasAction`、`UnitHasAction` 等查询。
|
||||
4. 实现 `ActionLogicBase` 子类或已有基类子类。
|
||||
5. 接好 UI 构参入口或地图点击入口。
|
||||
6. 如果 AI 应该会用,更新 `AIActionGenerator.GeneratorActionIds`、相关 BTNodeCanvas 节点和 `AIActionScoreCalculator`。
|
||||
7. 如果训练/模型会编码该行为,检查 `TrainingState`、action bit codec、AI 模型预测映射。
|
||||
8. 用单机、AI、多人 host/client、回放/观战思维各走一遍。
|
||||
|
||||
## AI Rules
|
||||
|
||||
AI 的最终执行仍然走 action 层:
|
||||
|
||||
- `AIActionGenerator` 从当前 AI 玩家、单位、城市、领土、目标缓存中枚举候选 `AIActionBase`。
|
||||
- BTNodeCanvas 节点负责筛选、排序、补目标参数、选出 `MaxAiAction`。
|
||||
- `AIExecuteAction` 只准备参数、镜头和可见性,它不真正执行。
|
||||
- `AILogic.Update()` 在 `MaxAiAction` 存在时调用 `MaxAiAction.ActionLogic.CompleteExecute(MaxAiAction.Param)`。
|
||||
- `AIActionScoreCalculator` 会把真实地图深拷贝成 `CalMap`,把参数刷新到 `CalMap`,再调用同一个 `CompleteExecute` 做模拟评分。
|
||||
|
||||
因此 action 的 `Execute` 不能默认依赖真实 `Main.MapData`、UI 对象、Unity 随机数、动画状态或当前相机。AI 模拟图上的行为应只改数据,不做真实 UI/表现副作用。
|
||||
|
||||
## Network Rules
|
||||
|
||||
多人行为不要绕过 `CompleteExecute`:
|
||||
|
||||
- Host 本地 action:`CompleteExecute` 先 `ActionExecute` 广播,广播失败则不执行本地 mutation。
|
||||
- Client 本地 action:`CompleteExecute` 发送 `ActionConfirm` 给 host;发送失败不执行。本地 `TurnEnd` 发送后直接返回 false,等待 host 广播。
|
||||
- Host 收到 `ActionConfirm`:刷新 params,校验当前玩家,调用 `CompleteExecute`,再广播 `ActionExcuteMessage` 并执行。
|
||||
- Client 收到 `ActionExcuteMessage`:版本和 hash 检查后,刷新 params,调用 `NetCompleteExecute`,不再二次发送。
|
||||
- `BeforeExecute` 只在真实主地图上追加 `ActionNetData`,版本来自 `MapData.Net.GetActionVersion()`,hash 来自 `NetData.GetMapDataHash(Main.MapData)`。
|
||||
|
||||
同步行为中的随机数必须使用 `map.Net.GetRandom(map)` 或现有同步随机封装。不要在真实执行路径里用 `UnityEngine.Random` 或新建未同步 seed 的 `System.Random`。
|
||||
|
||||
多人同步、断线、ForceUpdate、MapConfirm、恢复相关 bug 还要同时使用 `th1-network-sync`。
|
||||
|
||||
## Skill Side Effects
|
||||
|
||||
Action 执行后会触发技能和事件:
|
||||
|
||||
- `MapData.OnActionExecuted` 复制单位和技能列表后调用 `SkillBase.OnActionExecuted`,避免迭代中集合变化。
|
||||
- 还有 `OnTurnStart`、`OnAfterTurnStart`、`OnTurnEnd`、`OnAnyUnitMove`、`OnAnyUnitDie`、`OnAnyUnitCreate` 等生命周期。
|
||||
- 友军攻击/治疗走 `AttackAllyEnable`、`AttackAllyBaseHeal`、`AttackAllyHealAddition`、`AttackAllySelfDamage`、`OnAttackAllyJustBeforeHeal`、`OnAttackAllyAfterHeal`。
|
||||
|
||||
新增 action 或改 action 结果时,检查相关技能是否依赖 action 类型、单位移动/死亡/创建、治疗、回合开始/结束或 `OnActionExecuted`。
|
||||
|
||||
## Validation
|
||||
|
||||
改完 action 相关代码后至少运行:
|
||||
|
||||
```powershell
|
||||
dotnet build Unity/Assembly-CSharp.csproj --no-restore
|
||||
```
|
||||
|
||||
如果改了 Editor、AI 编辑窗口、配置窗口或 wiki 编辑器,再运行:
|
||||
|
||||
```powershell
|
||||
dotnet build Unity/Assembly-CSharp-Editor.csproj --no-restore
|
||||
```
|
||||
|
||||
多人/AI 高风险改动还要人工或自动验证这些路径:
|
||||
|
||||
- 单机玩家点击执行。
|
||||
- AI 生成、评分、执行。
|
||||
- 多人 host 本地执行并广播。
|
||||
- 多人 client 发起 action,host 确认后广播。
|
||||
- AI 评分 `CalMap` 模拟不会污染真实地图。
|
||||
- 回放/观战能按 `Net.Actions` 重放。
|
||||
- action 中所有随机结果在 host/client 一致。
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- 只改 UI 按钮,没有改 `CheckCan` 或工厂注册。
|
||||
- 只改玩家路径,没有让 AI 生成同类参数。
|
||||
- `CommonActionParams` 换了引用但忘记 `OnParamChanged()`。
|
||||
- 网络收到参数后忘记 `MapData` 和 `RefreshParams()`。
|
||||
- 在 `Execute` 中直接访问真实 UI、相机或动画,导致 AI 模拟图异常。
|
||||
- 用本地随机数、当前时间、对象枚举非确定顺序决定权威结果。
|
||||
- 在 client 收到确认前提前修改本地真实地图。
|
||||
- 新增 `CommonActionId` 字段后没更新 hash 和相等判断。
|
||||
4
.codex/skills/th1-action-logic/agents/openai.yaml
Normal file
4
.codex/skills/th1-action-logic/agents/openai.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
interface:
|
||||
display_name: "TH1 Action Logic"
|
||||
short_description: "TH1 action AI sync behavior rules"
|
||||
default_prompt: "Use $th1-action-logic to trace and safely modify TH1 action, AI, or multiplayer behavior."
|
||||
722
.codex/skills/th1-action-logic/references/action-logic-map.md
Normal file
722
.codex/skills/th1-action-logic/references/action-logic-map.md
Normal file
@ -0,0 +1,722 @@
|
||||
# TH1 Action Logic Code Map
|
||||
|
||||
This reference records the project-specific action, AI, synchronization, and side-effect map for TH1. Load it when tracing a concrete action bug or adding/changing action behavior.
|
||||
|
||||
## Architecture From MD
|
||||
|
||||
The framework docs describe TH1 as a Unity C# turn-based 4X project with a layered runtime:
|
||||
|
||||
- Action layer: player/AI operations, validation, execution, synchronization.
|
||||
- Logic layer: player, unit, map, city, skill, game state orchestration.
|
||||
- Data layer: `MapData`, `PlayerData`, `UnitData`, `CityData`, `GridData`, `NetData`.
|
||||
- UI/input layer: constructs action params and displays action circles.
|
||||
- Network layer: Steam P2P messages, MemoryPack serialization, action confirmation/broadcast.
|
||||
|
||||
Core loop:
|
||||
|
||||
```text
|
||||
player input or AI decision
|
||||
-> CommonActionId + CommonActionParams
|
||||
-> ActionLogicFactory
|
||||
-> CheckCan / CheckShow
|
||||
-> CompleteExecute
|
||||
-> Execute
|
||||
-> MapData.OnActionExecuted / skills / UI / score / next turn
|
||||
-> network action log / replay path
|
||||
```
|
||||
|
||||
## Main Files
|
||||
|
||||
| File | Purpose |
|
||||
| --- | --- |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/ActionLogic.cs` | `CommonActionType`, `CommonActionId`, `CommonActionParams`, `ActionLogicFactory`, `ActionLogicBase`, move/attack/turn/tech/wonder/culture/AIParam core actions |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/BuildActionLogic.cs` | Buildings, roads, bridges, ports, temples, special civ buildings |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/TrainUnitActionLogic.cs` | Normal units, heroes, Kaguya French animal warrior |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/GridMiscActionLogic.cs` | Grow/Clear/Burn forest, Destroy, GrowForestOutside, CreateMountain, SellMetal |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/UnitActionLogic.cs` | Unit actions: capture, upgrade, recover, gather, examine, disband, hero/special civ actions |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/AttackAllyActionLogic.cs` | Friendly-target attack/heal/combine/sacrifice actions |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Action/PlayerActionLogic.cs` | Diplomacy, hero select, finish hero task |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/AI/AIActionGenerator.cs` | Candidate action enumeration |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/AI/AIActionScoreCalculator.cs` | AI scoring, true-action shortcuts, `CalMap` simulation |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/AI/AIActionBase.cs` | `AICalculatorData`, AI caches, action visibility/duration |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/AI/AILogic.cs` | AI state machine and final action execution |
|
||||
| `Unity/Assets/Scripts/BTNodeCanvas/*.cs` | Behavior tree nodes that filter/generate/select AI actions |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Steam/GameNetSender.cs` | Sends `ActionConfirm`, broadcasts `ActionExecute`, MapConfirm, ForceUpdate |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Steam/GameNetReceiver.cs` | Receives action confirm/execute and refreshes params before execution |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Steam/SteamObjectSerializer.cs` | P2P message types and MemoryPack message DTOs |
|
||||
| `Unity/Assets/Scripts/TH1_Data/NetData.cs` | Action log, action version, deterministic random, map hash, player net map |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Core/GameLogic.cs` | State update, current player, AI update, map confirm heartbeat |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Player/PlayerLogic.cs` | Start/end turn, surrender, AI money action |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Map/MapInteraction.cs` | Map click move/attack/attack ally/attack ground entry |
|
||||
| `Unity/Assets/Scripts/TH1_Logic/Input/InputLogic.cs` | Special input entry such as `ToggleShenlan` |
|
||||
| `Unity/Assets/Scripts/TH1_UI/Info/*` | Action circle UI, tech/diplomacy/culture/hero action buttons |
|
||||
|
||||
## CommonActionType
|
||||
|
||||
`CommonActionType` currently includes:
|
||||
|
||||
- `Gain`
|
||||
- `Build`
|
||||
- `StartWonder`
|
||||
- `BuildWonder`
|
||||
- `TrainUnit`
|
||||
- `GridMisc`
|
||||
- `UnitAction`
|
||||
- `CityLevelUpAction`
|
||||
- `UnitSkill`
|
||||
- `LearnTech`
|
||||
- `UnitMove`
|
||||
- `UnitAttack`
|
||||
- `TurnStart`
|
||||
- `TurnEnd`
|
||||
- `PlayerAction`
|
||||
- `UnitPassiveMove`
|
||||
- `AIParamControl`
|
||||
- `UnitAttackAlly`
|
||||
- `UnitAttackGround`
|
||||
- `PlayerSurrender`
|
||||
- `BuyCultureCard`
|
||||
|
||||
`ActionLogicFactory.Refresh()` is the authoritative registry. If an action exists in an enum but is not registered there, UI/AI/factory lookups will not see it.
|
||||
|
||||
## CommonActionParams
|
||||
|
||||
`CommonActionParams` is `[MemoryPackable]`. It stores:
|
||||
|
||||
- Runtime references ignored by MemoryPack: `MapData`, `PlayerData`, `UnitData`, `CityData`, `GridData`, `TargetUnitData`, `TargetGridData`, `TargetPlayerData`.
|
||||
- Serialized IDs: `PlayerId`, `UnitId`, `CityId`, `GridId`, `TargetUnitId`, `TargetGridId`, `TargetPlayerId`.
|
||||
- `MainObjectType`, used by UI and factory checks.
|
||||
|
||||
Rules:
|
||||
|
||||
- Constructors set IDs from refs.
|
||||
- `OnParamChanged()` copies refs into IDs.
|
||||
- `RefreshParams()` copies IDs back into refs through `MapData`.
|
||||
- `GetCopyParam()` is the safe copy helper.
|
||||
- Network and replay paths must set `Param.MapData` then `RefreshParams()`.
|
||||
- AI simulation must refresh params against `CalMap`, not the real map.
|
||||
|
||||
## CommonActionId
|
||||
|
||||
`CommonActionId` is `[MemoryPackable]`. It includes the main action type and subtypes:
|
||||
|
||||
- `WonderType`
|
||||
- `ResourceType`
|
||||
- `FeatureType`
|
||||
- `TerrainType`
|
||||
- `UnitType`
|
||||
- `GiantType`
|
||||
- `UnitLevel`
|
||||
- `Vegetation`
|
||||
- `UnitActionType`
|
||||
- `CityLevelUpActionType`
|
||||
- `GridMiscActionType`
|
||||
- `SkillType`
|
||||
- `TechType`
|
||||
- `PlayerActionType`
|
||||
- `AIParamControlType`
|
||||
- `CultureCardType`
|
||||
|
||||
`Id` is a computed hash. Equality compares all fields. `ToLogString()` prints fields for debugging. Any new subtype field must update all of those.
|
||||
|
||||
## ActionLogicFactory
|
||||
|
||||
`ActionLogicFactory.Refresh()` lazily builds:
|
||||
|
||||
- `ActionLogicDict`
|
||||
- `_actionLogicIdDict`
|
||||
|
||||
Registration summary:
|
||||
|
||||
- Core unit actions: `UnitMoveAction`, `UnitAttackAction`, `UnitAttackGroundAction`, `UnitPassiveMoveAction`, `UnitAttackAllyAction`.
|
||||
- Turn actions: `PlayerTurnStartAction`, `PlayerTurnEndAction`.
|
||||
- Player-level actions: surrender, culture card purchase, `AIParamControlAction`, diplomacy actions.
|
||||
- `GainResourceAction` for `Animal`, `Fish`, `Fruit`.
|
||||
- `BuildAction` for normal buildings and road/bridge/port plus special subclasses for preserve, naval base, temples, Kaguya yard, Egyptian irrigation, Remilia military, metal station, Moriya military.
|
||||
- `GridMiscAction` plus special `GrowForestOutside`, `CreateMountain`, `SellMetal`.
|
||||
- Wonder build/start.
|
||||
- `TrainUnitAction` for normal units, `TrainUnitActionTrainHero` for heroes, special Kaguya/French animal warrior, Moriya snake level 3 handling.
|
||||
- City level-up actions for all `CityLevelUpActionType`.
|
||||
- `UnitActionAction` for all `UnitActionType`, with special subclasses for hero/special actions.
|
||||
- Water/shore unit transforms.
|
||||
- `LearnTechAction` for all tech types.
|
||||
- `UnitSkillAction` for active skills.
|
||||
|
||||
Important query helpers:
|
||||
|
||||
- `PlayerHasAction`
|
||||
- `GridHasAction`
|
||||
- `CityHasAction`
|
||||
- `UnitHasAction`
|
||||
- `UnitHasMoveAndAttackAction`
|
||||
- `MainObjectCanShowAction`
|
||||
- `GetActionLogicByType`
|
||||
- `GetMainObjectType`
|
||||
|
||||
## ActionLogicBase Execution
|
||||
|
||||
`CompleteExecute(CommonActionParams)` is the main gateway.
|
||||
|
||||
High-level behavior:
|
||||
|
||||
```text
|
||||
validate current player except TurnStart and PlayerSurrender
|
||||
if already IsNetActionExecuting -> ExecuteWithoutFullActionPeriod
|
||||
if real map and multiplayer:
|
||||
host -> broadcast ActionExecute; abort local execute if send fails
|
||||
client -> send ActionConfirm; abort local execute if send fails
|
||||
client TurnEnd -> return false after send
|
||||
set IsNetActionExecuting = true
|
||||
BeforeExecute
|
||||
Execute
|
||||
AfterExecute
|
||||
set IsNetActionExecuting = false
|
||||
```
|
||||
|
||||
`NetCompleteExecute()` runs `BeforeExecute`, `Execute`, `AfterExecute` without sending. It is used by clients receiving host broadcast.
|
||||
|
||||
`ExecuteWithoutFullActionPeriod()` only calls `Execute`; it intentionally skips logging and global after-action hooks. Use it only for nested implementation details that should not be independent actions.
|
||||
|
||||
`BeforeExecute`:
|
||||
|
||||
- Only acts on `actionParams.MapData == Main.MapData`.
|
||||
- Appends `ActionNetData` to `Main.MapData.Net.Actions`.
|
||||
- Uses `Version = Main.MapData.Net.GetActionVersion()`.
|
||||
- Uses `MapHash = NetData.GetMapDataHash(Main.MapData)`.
|
||||
- Stores `Param`, `ActionId`, and `Time`.
|
||||
|
||||
`AfterExecute`:
|
||||
|
||||
- Calls `MapData.OnActionExecuted`.
|
||||
- Refreshes diplomacy/feeling except `TurnEnd`, `TurnStart`, `AIParamControl`.
|
||||
- Recalculates player scores.
|
||||
- Updates UI topbar and `Main.PlayerLogic.Update`.
|
||||
- Refreshes settlement.
|
||||
- Calls moment/tutorial/ranking UI events.
|
||||
- May run action-difference checks under compile flags.
|
||||
|
||||
## Core Actions
|
||||
|
||||
### BuildWonderAction
|
||||
|
||||
Validates own territory, wonder availability, terrain/resource constraints, and cost. Execution turns the grid resource into a wonder, updates player wonder state, grid/city experience, moments and achievements.
|
||||
|
||||
### GainResourceAction
|
||||
|
||||
Validates own territory, matching gatherable resource, no enemy blocker, tech/action availability, and cost. Execution spends money, clears resource, grants city experience, and refreshes building levels.
|
||||
|
||||
### CityLevelUpActionAction
|
||||
|
||||
Consumes city level-up points and applies city upgrade branches such as explorer, workshop, wealth, wall, expand, population, park, and big unit creation. `CheckCan` is tied to city level and available point.
|
||||
|
||||
### UnitMoveAction
|
||||
|
||||
Validates unit/player/grid, self unit, legal target, visibility/enemy blocking, movement path and special move restrictions. Execution uses `Main.UnitLogic.CalcUnitMoveInfo`, `GetMovePath`, `MoveToLogic`, sight refresh, and visible movement fragments only on the real map.
|
||||
|
||||
### UnitPassiveMoveAction
|
||||
|
||||
Used for displacement/passive moves. It is normally nested and should not create a full action period unless explicitly intended.
|
||||
|
||||
### UnitAttackAction
|
||||
|
||||
Uses `PresentationManager.BeginScope()`, validates alive units, target hostility, attack range/rules and current player. Execution calls `Main.UnitLogic.Attack`, enqueues visible attack/move-kill/push fragments, and refreshes sight when movement happens.
|
||||
|
||||
### UnitAttackGroundAction
|
||||
|
||||
Ground-target actions for skills like Suwako and Infiltrate. It may spawn Moriya snake or perform direct theft/suicide/rebel effects. It must validate target grid attackability and AP.
|
||||
|
||||
### StartWonderAction
|
||||
|
||||
Player-level start wonder action. Inspect this when changing wonder prerequisites, states or UI.
|
||||
|
||||
### UnitSkillAction
|
||||
|
||||
Dispatches active skills through `SkillType`. Inspect the target skill implementation under `Unity/Assets/Scripts/TH1_Logic/Skill` before changing behavior.
|
||||
|
||||
### LearnTechAction
|
||||
|
||||
Validates tech pool, father techs, not learned, enough coin and tech point. Execution delegates to `Main.PlayerLogic.ResearchTech`.
|
||||
|
||||
### PlayerTurnStartAction / PlayerTurnEndAction
|
||||
|
||||
Wrap `MapData.OnTurnStart`, `MapData.OnAfterTurnStart`, and `MapData.OnTurnEnd`. These are special in player checks and network behavior.
|
||||
|
||||
### AIParamControlAction
|
||||
|
||||
Clears AP/MP/CP or gives AI money. `AIMoney` must not apply to real multiplayer players or the self player in single-player.
|
||||
|
||||
### SurrenderAction
|
||||
|
||||
Calls player surrender logic and creates a local surrender archive for the self player outside story mode.
|
||||
|
||||
### BuyCultureCardAction
|
||||
|
||||
Delegates to `PlayerCultureInfo.TryBuyCultureCard` and `CheckCanBuyCultureCard`.
|
||||
|
||||
## Build Actions
|
||||
|
||||
Base file: `BuildActionLogic.cs`.
|
||||
|
||||
`BuildAction` handles:
|
||||
|
||||
- Farm/Mine/LumberHut collection buildings.
|
||||
- Windmill/Forge/Sawmill/Market improvements.
|
||||
- Port, Road, Bridge.
|
||||
- Temple/Military/Academy and generic building effects.
|
||||
- Cost spending, grid mutations, city exp, building-level refresh, city connection refresh.
|
||||
|
||||
Special subclasses:
|
||||
|
||||
- `BuildActionBuildPreserve`
|
||||
- `BuildActionBuildNavalBase`
|
||||
- `BuildActionBuildTemple`
|
||||
- `BuildActionBuildKaguyaFrenchYard`
|
||||
- `BuildActionUpdateAllBuildingLevel`
|
||||
- `BuildActionBuildEgyptianIrrigation`
|
||||
- `BuildActionBuildRemiliaMilitary`
|
||||
- `BuildActionBuildMetalStation`
|
||||
- `BuildActionBuildMoriyaMilitary`
|
||||
|
||||
When changing building rules, inspect both `CheckCan` and `CheckShowState`; this code often separates visibility, disabled reason, and final legality.
|
||||
|
||||
## Train Unit Actions
|
||||
|
||||
Base file: `TrainUnitActionLogic.cs`.
|
||||
|
||||
`TrainUnitAction` validates:
|
||||
|
||||
- City/grid ownership and production site.
|
||||
- Population and occupancy.
|
||||
- Money or culture cost.
|
||||
- Tech, culture cards and civilization-specific availability.
|
||||
- Enemy blockers and special unit limits.
|
||||
|
||||
Execution:
|
||||
|
||||
- Spends cost.
|
||||
- Adds unit to city/grid.
|
||||
- Handles special Moriya/Kaguya effects.
|
||||
- Refreshes sight.
|
||||
- Updates hero tasks, achievements and faith/score hooks.
|
||||
|
||||
Special subclasses:
|
||||
|
||||
- `TrainUnitActionTrainHero`
|
||||
- `TrainUnitActionTrainKaguyaFrenchAnimalWarrior`
|
||||
|
||||
Hero training uses hero cooldown/penalty, hero level, duplicate checks and special French Mokou egg sharing.
|
||||
|
||||
## Grid Misc Actions
|
||||
|
||||
Base file: `GridMiscActionLogic.cs`.
|
||||
|
||||
`GridMiscActionType` includes:
|
||||
|
||||
- `GrowForest`
|
||||
- `ClearForest`
|
||||
- `BurnForest`
|
||||
- `Destroy`
|
||||
- `GrowForestOutside`
|
||||
- `CreateMountain`
|
||||
- `SellMetal`
|
||||
|
||||
Base action handles vegetation/resource/building-level/city-connect/visual updates. Destroy has special bridge safety, including hidden real unit checks and land-only unit constraints.
|
||||
|
||||
Special subclasses:
|
||||
|
||||
- `GridMiscActionGrowTreeOutside`
|
||||
- `GridMiscActionCreateMountain`
|
||||
- `GridMiscActionSellMetal`
|
||||
|
||||
`CreateMountain` uses synchronized random through `Net.GetRandom`, so any similar new behavior must follow that model.
|
||||
|
||||
## Unit Actions
|
||||
|
||||
Base file: `UnitActionLogic.cs`.
|
||||
|
||||
`UnitActionType` includes:
|
||||
|
||||
- `Upgrade`
|
||||
- `Recover`
|
||||
- `HEAL`
|
||||
- `Examine`
|
||||
- `Gather`
|
||||
- `Capture`
|
||||
- `Disband`
|
||||
- `ROYALFLAMES`
|
||||
- `ROYALFLAMESPRO`
|
||||
- `HeroUpgrade`
|
||||
- `TEWIFRENCHBUFF`
|
||||
- `MOKOUFRENCHBOOM`
|
||||
- `KAGUYAFRENCHAROUND`
|
||||
- `ForceDisband`
|
||||
- `RemoveRedMist`
|
||||
- `REMILIABUFF`
|
||||
- `AbsorbRedMist`
|
||||
- `REMILIAABSORB`
|
||||
- `KANAKOSIT`
|
||||
- `KANAKOUNSIT`
|
||||
- `AYAMOVEAGAIN`
|
||||
- `KomeijiRinFire`
|
||||
- `KomeijiRinCityExp`
|
||||
- `KomeijiBonePileBoom`
|
||||
- `ReisenFrenchBoom`
|
||||
- `ToggleShenlan`
|
||||
|
||||
Base `UnitActionAction` handles capture, upgrade, ship transforms, disband, recover, gather, examine treasure and skill-like enum dispatch. `ToggleShenlan` is special debug/visual input and should not consume normal AP/cost.
|
||||
|
||||
Special subclasses:
|
||||
|
||||
- `UnitActionROYALFLAMESPRO`
|
||||
- `UnitActionHeroUpgrade`
|
||||
- `UnitActionHEAL`
|
||||
- `UnitActionTEWIFRENCHBUFF`
|
||||
- `UnitActionMOKOUFRENCHBOOM`
|
||||
- `UnitActionKAGUYAFRENCHAROUND`
|
||||
- `UnitActionForceDisband`
|
||||
- `UnitActionRemoveRedMist`
|
||||
- `UnitActionREMILIABUFF`
|
||||
- `UnitActionAbsorbRedMist`
|
||||
- `UnitActionRemiliaAbsorb`
|
||||
- `UnitActionKanakoSit`
|
||||
- `UnitActionKanakoUnSit`
|
||||
- `UnitActionAyaMoveAgain`
|
||||
- `UnitActionKomeijiRinFire`
|
||||
- `UnitActionKomeijiRinCityExp`
|
||||
- `UnitActionReisenFrenchBoom`
|
||||
- `UnitActionKomeijiBonePileBoom`
|
||||
|
||||
Treasure/examine and any reward-like execution must use synchronized random.
|
||||
|
||||
## Friendly Attack / Heal
|
||||
|
||||
File: `AttackAllyActionLogic.cs`.
|
||||
|
||||
`UnitAttackAllyAction` validates allied target, range, players/cities and per-unit skill permissions. It supports both new lifecycle hooks and legacy special branches:
|
||||
|
||||
- `AttackAllyEnable`
|
||||
- `AttackAllyBaseHeal`
|
||||
- `AttackAllyHealAddition`
|
||||
- `AttackAllySelfDamage`
|
||||
- `OnAttackAllyJustBeforeHeal`
|
||||
- `OnAttackAllyAfterHeal`
|
||||
- legacy Kaguya, Patchouli, SuwakoHebi combine, Komeiji sacrifice/BonePile feed, SanaeWind branches
|
||||
|
||||
Animation should only run on the real map and when visible.
|
||||
|
||||
## Player Actions
|
||||
|
||||
File: `PlayerActionLogic.cs`.
|
||||
|
||||
Diplomacy actions:
|
||||
|
||||
- `Embassy`
|
||||
- `OfferAlly`
|
||||
- `AcceptAlly`
|
||||
- `RefuseAlly`
|
||||
- `BreakAlly`
|
||||
|
||||
`BreakAlly` force-disbands own units inside target territory by nested `ForceDisband`, clears relevant AP and updates rendering/UI/highlight.
|
||||
|
||||
Other player actions:
|
||||
|
||||
- `SelectHero`
|
||||
- `FinishHeroTask`
|
||||
|
||||
Hero task finish may spend culture for a real player and force-complete the current hero task.
|
||||
|
||||
## AI Action Flow
|
||||
|
||||
Files:
|
||||
|
||||
- `AIActionGenerator.cs`
|
||||
- `AIActionScoreCalculator.cs`
|
||||
- `AIActionBase.cs`
|
||||
- `AILogic.cs`
|
||||
- `BTNodeCanvas/*.cs`
|
||||
|
||||
Flow:
|
||||
|
||||
```text
|
||||
GameLogic.UpdateAI
|
||||
-> AILogic.StartAILogic / Update
|
||||
-> AICalculatorData.Refresh
|
||||
-> BT owner update
|
||||
-> AIGeneratorAction / filters / score nodes
|
||||
-> AIExecuteAction prepares MaxAiAction but does not execute
|
||||
-> AILogic.Update calls MaxAiAction.ActionLogic.CompleteExecute
|
||||
-> when no action remains, GameLogic.EndPlayerTurn
|
||||
```
|
||||
|
||||
`AILogic.Update` has loop protection around 200 executed actions and 150 behavior tree updates per pass.
|
||||
|
||||
`AIActionGenerator.Init` snapshots:
|
||||
|
||||
- Self units.
|
||||
- Self cities.
|
||||
- Self territory grids.
|
||||
- Wait queues for unit/grid/city/tech/action groups.
|
||||
|
||||
`GeneratorActionIds(data, type)` patterns:
|
||||
|
||||
- Gain/Build/BuildWonder/GridMisc: iterate city territory grids, skip destructive types where needed, set grid refs, `OnParamChanged`, `CheckCan`.
|
||||
- StartWonder/LearnTech: player-level params.
|
||||
- TrainUnit/CityLevelUpAction: city-level and non-city territory production params.
|
||||
- UnitAction/UnitSkill: unit-level params.
|
||||
- UnitMove: requires alive unit, MP, calculated move info and reachable target grids.
|
||||
- UnitAttack: requires AP, visible enemy target, attack reach and `CheckCan`.
|
||||
- PlayerAction: iterates target players for diplomacy, then separately handles hero select/task finish.
|
||||
- AIParamControl: currently AP/MP/CP clearing, skips `AIMoney` in generation.
|
||||
- UnitAttackAlly: allied unit targets and AP.
|
||||
- UnitAttackGround: target grids around attack range, movement info required for some skills.
|
||||
- BuyCultureCard: player-level params.
|
||||
|
||||
`GeneratorAllActionIdsForUse` filters out some actions for general/model use:
|
||||
|
||||
- `FinishHeroTask`
|
||||
- `Disband`
|
||||
- `ForceDisband`
|
||||
- `Destroy`
|
||||
|
||||
## AI Scoring And CalMap
|
||||
|
||||
`AIActionScoreCalculator.GetCalMap` deep-copies the real map into static `CalMap`.
|
||||
|
||||
`CalculateAIActionScore`:
|
||||
|
||||
1. Gets start score result.
|
||||
2. Copies/refreshed params onto `CalMap`.
|
||||
3. Calls the action's `CompleteExecute` against `CalMap`.
|
||||
4. Calculates score delta.
|
||||
5. Uses max positive offset unless a true-action shortcut applies.
|
||||
|
||||
Because `CalMap != Main.MapData`:
|
||||
|
||||
- `BeforeExecute` should not append real net actions.
|
||||
- UI/visual code guarded by real map checks should not run.
|
||||
- `Execute` must be data-only safe.
|
||||
- Random action results must be deterministic under `Net.GetRandom`.
|
||||
|
||||
`CalculateAIActionIsTrue` can force-pick action categories such as capture/gather/examine, upgrade, direct attacks, defend attacks, no-unit city moves, diplomacy tech handling and other scripted tactical choices.
|
||||
|
||||
## Network Message Flow
|
||||
|
||||
Files:
|
||||
|
||||
- `SteamObjectSerializer.cs`
|
||||
- `GameNetSender.cs`
|
||||
- `GameNetReceiver.cs`
|
||||
- `NetData.cs`
|
||||
|
||||
Message types:
|
||||
|
||||
- `ActionConfirm = 3`
|
||||
- `ActionExcute = 4` (class name/message spelling uses `Excute`)
|
||||
- `TurnEnd = 5`
|
||||
- `MapConfirm = 6`
|
||||
- `ForceUpdate = 7`
|
||||
|
||||
Client action:
|
||||
|
||||
```text
|
||||
client CompleteExecute
|
||||
-> GameNetSender.ActionConfirm(ActionNetData)
|
||||
-> no local mutation
|
||||
-> host OnReceivedActionConfirm
|
||||
-> host CompleteExecute
|
||||
-> host Broadcast ActionExcute
|
||||
-> host local Execute
|
||||
-> clients OnReceivedActionExcute
|
||||
-> client NetCompleteExecute
|
||||
```
|
||||
|
||||
Host action:
|
||||
|
||||
```text
|
||||
host CompleteExecute
|
||||
-> Broadcast ActionExcute
|
||||
-> host local Execute only if broadcast succeeds
|
||||
-> clients NetCompleteExecute
|
||||
```
|
||||
|
||||
Receiver checks:
|
||||
|
||||
- Host only accepts `ActionConfirm`.
|
||||
- Clients only accept `ActionExcute`.
|
||||
- Version must match `Main.MapData.Net.GetActionVersion()`; higher version requests force update.
|
||||
- Current-player check is skipped only for `TurnStart` and `PlayerSurrender`.
|
||||
- Receiver sets `message.ActionData.Param.MapData = Main.MapData` then `RefreshParams()`.
|
||||
|
||||
`MapConfirm`:
|
||||
|
||||
- Host compares member action index and last action data against local `Net.Actions`.
|
||||
- Client requests force update on index/action mismatch.
|
||||
|
||||
`ForceUpdate`:
|
||||
|
||||
- Clients validate received map, refresh player net, enter ForceUpdating, call `NetResumeMatch`, then restore/hide UI on success.
|
||||
|
||||
## NetData
|
||||
|
||||
`NetData` stores:
|
||||
|
||||
- `Mode`
|
||||
- `CurPlayerId`
|
||||
- `Players` mapping Steam ID to player ID.
|
||||
- `Actions`
|
||||
- immutable game `RandomSeed`
|
||||
|
||||
Important methods:
|
||||
|
||||
- `GetActionVersion()` returns zero for no actions, otherwise last action version plus one.
|
||||
- `GetMapDataHash(map)` serializes a map with `Net.Actions = null`, then restores in `finally`.
|
||||
- `GetRandom(map)` returns deterministic random. For `map != Main.MapData`, it returns a new `System.Random(RandomSeed)`; for real map it caches `_random`.
|
||||
- `RefreshPlayerNet(map, isHost)` validates lobby mappings and `SelfPlayerId`.
|
||||
|
||||
## Turn And AI Ownership
|
||||
|
||||
`GameLogic.Update`:
|
||||
|
||||
- Updates reconnect and heartbeat.
|
||||
- Updates current state.
|
||||
- Calls `MapData.RefreshTurn`.
|
||||
- Switches state based on self/current player.
|
||||
- Calls `UpdateAI` and `UpdateConfirm`.
|
||||
|
||||
`GameLogic.UpdateAI`:
|
||||
|
||||
- In multiplayer, only lobby owner runs AI.
|
||||
- Real/self players do not use AI.
|
||||
- Disconnected/timed-out members may need AI control.
|
||||
- Starts or updates `AILogic`.
|
||||
- Ends turn when AI finishes.
|
||||
|
||||
`MapData.RefreshTurn`:
|
||||
|
||||
- In multiplayer only host progresses turn timeout.
|
||||
- Starts next player turn when no current player.
|
||||
|
||||
`PlayerLogic.StartPlayerTurn` and `EndPlayerTurn` use action objects:
|
||||
|
||||
- `PlayerTurnStartAction`
|
||||
- `PlayerTurnEndAction`
|
||||
- `SurrenderAction`
|
||||
- `AIParamControlAction` for AI money
|
||||
|
||||
## Replay / Spectate
|
||||
|
||||
`GameLogic.SpectateState` replays `endMap.Net.Actions`:
|
||||
|
||||
- Skips `TurnStart`.
|
||||
- For `TurnEnd`, calls `EndPlayerTurn`.
|
||||
- Otherwise sets param map, refreshes params, and calls `CompleteExecute`.
|
||||
|
||||
Any action that cannot replay from serialized IDs alone is unsafe.
|
||||
|
||||
## Input And UI Entries
|
||||
|
||||
`MapInteraction.cs`:
|
||||
|
||||
- Unit attack.
|
||||
- Unit attack ally.
|
||||
- Unit attack ground.
|
||||
- Movement/timer move.
|
||||
- Constructs `CommonActionParams` with `Main.MapData`, self player, selected unit, target unit/grid, then refreshes params.
|
||||
|
||||
`InputLogic.cs`:
|
||||
|
||||
- `ToggleShenlan` special repeated-click action uses `CommonActionType.UnitAction` and `UnitActionType.ToggleShenlan`.
|
||||
|
||||
Common UI:
|
||||
|
||||
- `UIInfoGridInfoView` creates params for grid/city/unit/player action circles and calls `MainObjectCanShowAction`.
|
||||
- `UIInfoCommonBaseActionCircleMono` handles display, cost/locked/done/send/cold states.
|
||||
- Tech, diplomacy, culture card and hero views construct params and call `CompleteExecute`.
|
||||
|
||||
## Action-Triggered Skills
|
||||
|
||||
`MapData.OnActionExecuted`:
|
||||
|
||||
- Copies unit list.
|
||||
- Copies each unit's skill list.
|
||||
- Calls `skill.OnActionExecuted(logic, param, unit)`.
|
||||
|
||||
Other skill hooks:
|
||||
|
||||
- `OnTurnStart`
|
||||
- `OnAfterTurnStart`
|
||||
- `OnTurnEnd`
|
||||
- `OnAnyUnitMove`
|
||||
- `OnAnyUnitDie`
|
||||
- `OnAnyUnitCreate`
|
||||
- `OnHealOther`
|
||||
- Attack ally lifecycle hooks
|
||||
|
||||
Known action-random skill examples:
|
||||
|
||||
- `InfiltrateSkill` comments explicitly require synchronized random to avoid multiplayer divergence.
|
||||
- `KoishiAutoMoveSkill`
|
||||
- `KomeijiKnightKillSkill`
|
||||
- `SanaeDivineSkill`
|
||||
- `UtsuhoBoneMakerSkill`
|
||||
- `YuugiPushSkill`
|
||||
|
||||
## Determinism Checklist
|
||||
|
||||
Before changing synced action behavior, confirm:
|
||||
|
||||
- No `UnityEngine.Random` in authority-changing execution.
|
||||
- No current time, frame count or local-only object order deciding data results.
|
||||
- No UI/camera/animation object required for data execution.
|
||||
- Parameter IDs are sufficient for network/replay.
|
||||
- `CheckCan` protects host network confirm path.
|
||||
- Host send/broadcast failure aborts mutation.
|
||||
- Client local action does not mutate until host broadcast.
|
||||
- AI `CalMap` execution cannot write real-map UI, net log or static accidental state.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
When a behavior is missing:
|
||||
|
||||
1. Is the action registered in `ActionLogicFactory.Refresh()`?
|
||||
2. Does `GetMainObjectType()` match the UI object?
|
||||
3. Does the UI build params with the correct player/unit/city/grid/target?
|
||||
4. Does it call `OnParamChanged()` before lookup/network?
|
||||
5. Does `CheckShow` hide it or `CheckShowState` mark it locked/cost/done/cold?
|
||||
6. Does `CheckCan` fail because of AP/MP/CP, resource, tech, territory, enemy blocker, city pop, diplomacy or cooldown?
|
||||
7. Does AI need `AIActionGenerator` support?
|
||||
8. Does network receiver rebuild params correctly from IDs?
|
||||
9. Does replay work from `Net.Actions` without runtime-only refs?
|
||||
10. Does any skill hook immediately modify or reverse the result?
|
||||
|
||||
When a behavior desyncs:
|
||||
|
||||
1. Compare `ActionNetData.Version`, `MapHash`, `ActionId`, and serialized params.
|
||||
2. Inspect host `ActionConfirm` and client `ActionExcute` paths.
|
||||
3. Verify all random results use `Net.GetRandom`.
|
||||
4. Ensure visuals or UI mutations do not change data only on one machine.
|
||||
5. Check nested actions: should they be full logged actions or `ExecuteWithoutFullActionPeriod`?
|
||||
6. Check `AfterExecute` hooks and skills for non-determinism.
|
||||
7. Use `th1-network-sync` for ForceUpdate, MapConfirm, heartbeat and reconnect logic.
|
||||
|
||||
## Validation Commands
|
||||
|
||||
Compile runtime:
|
||||
|
||||
```powershell
|
||||
dotnet build Unity/Assembly-CSharp.csproj --no-restore
|
||||
```
|
||||
|
||||
Compile editor if editor scripts changed:
|
||||
|
||||
```powershell
|
||||
dotnet build Unity/Assembly-CSharp-Editor.csproj --no-restore
|
||||
```
|
||||
|
||||
Search helpers:
|
||||
|
||||
```powershell
|
||||
rg -n "CommonActionType|CommonActionId|CompleteExecute|CheckCan|CheckShow|ActionConfirm|ActionExcute" Unity/Assets/Scripts
|
||||
rg -n "GeneratorActionIds|CalculateAIActionScore|MaxAiAction|AIExecuteAction" Unity/Assets/Scripts/TH1_Logic/AI Unity/Assets/Scripts/BTNodeCanvas
|
||||
rg -n "Net.GetRandom|UnityEngine.Random|System.Random" Unity/Assets/Scripts/TH1_Logic Unity/Assets/Scripts/TH1_Data
|
||||
```
|
||||
127
.codex/skills/th1-multilingual/SKILL.md
Normal file
127
.codex/skills/th1-multilingual/SKILL.md
Normal file
@ -0,0 +1,127 @@
|
||||
---
|
||||
name: th1-multilingual
|
||||
description: TH1 project-specific multilingual/localization guide for Unity editor export/import, Multilingual.asset, Multilingual.xlsx, MultilingualTxt.txt, special-term syntax, ordered embedded references, duplicate ID prevention, active text scanning, Excel round-tripping, and translation data debugging. Use whenever Codex works on TH1 多语言导表/导回, localization Excel issues, duplicated rows/IDs, special-term parsing, ordered marker bugs, MultilingualEditorWindow, MultilingualData, or any bug that may create new localization IDs unexpectedly.
|
||||
---
|
||||
|
||||
# TH1 Multilingual
|
||||
|
||||
## Core Rule
|
||||
|
||||
Preserve existing translated IDs. Do not create a new `MultilingualItem.ID` for text that is semantically the same after embedded terms are canonicalized.
|
||||
|
||||
Before changing multilingual export/import code, trace this path:
|
||||
|
||||
`source text -> ExportSpecialTerm -> Multilingual.asset internal ID form -> GetMultilingualStrEditor -> MultilingualTxt.txt -> Multilingual.xlsx -> ExcelExportToAsset -> AlignEmbeddedStringsToZH -> runtime ResolveEmbeddedStringsRunning`.
|
||||
|
||||
If Excel shows duplicate rows, first compare Asset raw `item.ZH`, not only the Excel-visible text.
|
||||
|
||||
## First Files To Read
|
||||
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Editor/MultilingualEditorWindow.cs`
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Multilingual/MultilingualData.cs`
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Multilingual/MultilingualItem` in `MultilingualData.cs`
|
||||
- `Tools/PrintExcelString.py`
|
||||
- `Tools/ExportStringToExcel.py`
|
||||
- `Tools/Multilingual.xlsx`
|
||||
- `Tools/MultilingualTxt.txt`
|
||||
- `Unity/Assets/Resources/Export/Multilingual.asset`
|
||||
|
||||
For the full data-flow contract, read `references/pipeline.md`.
|
||||
For duplicate IDs, bad markers, and validation commands, read `references/diagnostics.md`.
|
||||
|
||||
## Format Contract
|
||||
|
||||
Use only these formats:
|
||||
|
||||
```text
|
||||
Excel/source human form:
|
||||
**<文本>**
|
||||
**<![1]文本>**
|
||||
|
||||
Asset internal form:
|
||||
**<123>**
|
||||
**<![1]123>**
|
||||
```
|
||||
|
||||
`**<[1]文本>**` is invalid and must not be accepted as a legacy ordered marker.
|
||||
|
||||
`**<[马]职阶英雄>**`, `**<[王]职阶>**`, `**<[基础属性]>**`, and similar bracketed labels are normal special-term text, not ordered markers, because the marker lacks `!` and the bracket content is not the ordered-marker syntax.
|
||||
|
||||
## Export Workflow
|
||||
|
||||
1. Run `DuplicateRemoval()` before scanning sources.
|
||||
2. In `DuplicateRemoval()`, canonicalize existing `item.ZH` into internal ID form before building `_zhStrDict`.
|
||||
- Example: `**<[王]职阶英雄>**...**<蓬莱山辉夜>**` must become `**<17914>**...**<171>**`.
|
||||
- This preserves old translated rows and prevents new IDs such as `19977` from being created for already translated text.
|
||||
3. Build `_zhStrDict` from canonical raw `item.ZH`, not from Excel-visible text.
|
||||
4. Scan scene, prefab, and DataAssets text.
|
||||
5. Apply `ExportSpecialTerm()` to source text before lookup.
|
||||
6. If the canonical string exists in `_zhStrDict`, reuse that ID.
|
||||
7. Only allocate `_idIndex` when the canonical string is genuinely new.
|
||||
8. Write Excel-visible text through `GetMultilingualStrEditor()`, which expands internal IDs back to readable terms.
|
||||
|
||||
## Import Workflow
|
||||
|
||||
1. Convert Excel to `MultilingualTxt.txt` through `Tools/PrintExcelString.py`.
|
||||
2. Load rows by ID and update existing items.
|
||||
3. Set `IsActive` from the Excel active column.
|
||||
4. Convert `ZH` human-form embedded strings to internal IDs with `UnResolveEmbeddedStrings`.
|
||||
5. Align other languages to the canonical Chinese IDs with `AlignEmbeddedStringsToZH`.
|
||||
6. Save `Multilingual.asset`.
|
||||
|
||||
Do not overwrite existing translations with blank Excel cells.
|
||||
|
||||
## Duplicate ID Policy
|
||||
|
||||
When two rows display the same in Excel:
|
||||
|
||||
1. Compare raw `item.ZH` in `Multilingual.asset`.
|
||||
2. If one row is readable term form and another is ID form, canonicalization is missing or did not run.
|
||||
3. Prefer the older/lower ID that already has translations.
|
||||
4. Update active references to the preserved ID when practical.
|
||||
5. Delete the later duplicate only after confirming no source asset still references it, or let the fixed export deduplicate after canonicalization.
|
||||
|
||||
Regression example:
|
||||
|
||||
```text
|
||||
17228 raw: **<[王]职阶英雄>**...**<蓬莱山辉夜>**
|
||||
19977 raw: **<17914>**...**<171>**
|
||||
Excel display: same text
|
||||
Correct result: preserve 17228; do not create/use 19977.
|
||||
```
|
||||
|
||||
## Ordered Marker Policy
|
||||
|
||||
Use ordered markers only when translators may reorder embedded terms:
|
||||
|
||||
```text
|
||||
ZH Excel: 可在**<![1]森林>**中建造**<![2]后之雕像>**
|
||||
EN Excel: Allows construction of **<![2]Statue of the Queen>** in **<![1]Forest>** tiles
|
||||
Asset: 可在**<![1]445>**中建造**<![2]18127>**
|
||||
```
|
||||
|
||||
If text contains `**<[1]...>**`, report a format error: write `**<![1]...>**`.
|
||||
|
||||
## Checks Before Finishing
|
||||
|
||||
For editor-code changes, run or ask the user to run in Unity if CLI build is unavailable:
|
||||
|
||||
```powershell
|
||||
dotnet build Unity/Assembly-CSharp-Editor.csproj --no-restore
|
||||
```
|
||||
|
||||
For export/import changes, inspect at least one old translated row and one newly active source row:
|
||||
|
||||
- Confirm the old ID is reused.
|
||||
- Confirm Excel-visible text can be duplicate-free after canonicalization.
|
||||
- Confirm `**<[马]...>**` style labels are not flagged as ordered markers.
|
||||
- Confirm `**<[1]...>**` is rejected, not silently accepted.
|
||||
- Confirm `**<![1]...>**` round-trips to `**<![1]id>**` and back.
|
||||
|
||||
## What Not To Do
|
||||
|
||||
- Do not treat Excel-visible equality as proof that Asset raw strings are equal.
|
||||
- Do not add compatibility for historical `**<[n]...>**` ordered syntax.
|
||||
- Do not create new IDs when a canonicalized existing item already matches.
|
||||
- Do not remove an old translated row in favor of a new blank active row.
|
||||
- Do not normalize bracket labels like `[王]职阶英雄` into ordered markers.
|
||||
4
.codex/skills/th1-multilingual/agents/openai.yaml
Normal file
4
.codex/skills/th1-multilingual/agents/openai.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
interface:
|
||||
display_name: "TH1 Multilingual"
|
||||
short_description: "TH1 Unity 多语言导表导回特殊词和重复ID排查"
|
||||
default_prompt: "Use TH1 multilingual rules to inspect, fix, or explain localization export/import issues."
|
||||
134
.codex/skills/th1-multilingual/references/diagnostics.md
Normal file
134
.codex/skills/th1-multilingual/references/diagnostics.md
Normal file
@ -0,0 +1,134 @@
|
||||
# TH1 Multilingual Diagnostics
|
||||
|
||||
## Quick Duplicate Analysis
|
||||
|
||||
Use this when Excel shows duplicate Chinese rows:
|
||||
|
||||
```powershell
|
||||
@'
|
||||
import sys, io, openpyxl
|
||||
from collections import defaultdict
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
|
||||
wb = openpyxl.load_workbook('Tools/Multilingual.xlsx', read_only=True, data_only=False)
|
||||
ws = wb.active
|
||||
by_zh = defaultdict(list)
|
||||
for r, row in enumerate(ws.iter_rows(min_row=2, values_only=True), start=2):
|
||||
if not row or row[0] is None:
|
||||
continue
|
||||
zh = str(row[2] or '').strip()
|
||||
if zh:
|
||||
by_zh[zh].append((r, str(row[0]), str(row[1]), zh, str(row[16] or '') if len(row) > 16 else ''))
|
||||
for group in [v for v in by_zh.values() if len(v) > 1][:50]:
|
||||
print('---')
|
||||
for item in group:
|
||||
print(item[:3], item[4])
|
||||
print(item[3][:300])
|
||||
'@ | python -
|
||||
```
|
||||
|
||||
If duplicate rows differ by `Active`, preserve the old translated row unless the active source truly changed.
|
||||
|
||||
## Inspect Raw Asset Entries
|
||||
|
||||
Use this to compare raw `Multilingual.asset` storage for IDs that look duplicate in Excel:
|
||||
|
||||
```powershell
|
||||
@'
|
||||
import sys, io
|
||||
from pathlib import Path
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
|
||||
ids = {'17228', '19977'}
|
||||
text = Path('Unity/Assets/Resources/Export/Multilingual.asset').read_text(encoding='utf-8')
|
||||
lines = text.splitlines()
|
||||
for idx, line in enumerate(lines):
|
||||
if line.strip() in [f'- ID: {i}' for i in ids]:
|
||||
print('\\n---', line.strip(), 'line', idx + 1)
|
||||
for j in range(idx, min(idx + 25, len(lines))):
|
||||
print(lines[j])
|
||||
'@ | python -
|
||||
```
|
||||
|
||||
Interpretation:
|
||||
|
||||
- Raw readable term form: `**<蓬莱山辉夜>**`.
|
||||
- Raw internal ID form: `**<171>**`.
|
||||
- If both export to the same Excel text, canonicalization before `_zhStrDict` lookup is missing or stale.
|
||||
|
||||
## Inspect Source Reference
|
||||
|
||||
Search an ID in exported assets to see who currently references it:
|
||||
|
||||
```powershell
|
||||
rg -n "Desc: 19977|ActionName: 19977|TechDesc: 19977| 19977" Unity/Assets/Resources/Export -S
|
||||
```
|
||||
|
||||
For field-level reference context:
|
||||
|
||||
```powershell
|
||||
rg -n "19977" Unity/Assets/Resources/Export/ActionDataAssets.asset -C 20
|
||||
```
|
||||
|
||||
If a new duplicate ID is already written into a DataAssets export, rerunning export after fixing canonicalization should normally reassign the source field back to the preserved ID.
|
||||
|
||||
## Ordered Marker Checks
|
||||
|
||||
Run this mental/regex check when marker errors appear:
|
||||
|
||||
```text
|
||||
[马]职阶英雄 -> normal text
|
||||
[1]森林 -> invalid; missing !
|
||||
![1]森林 -> valid ordered marker
|
||||
```
|
||||
|
||||
Valid ID patterns:
|
||||
|
||||
```text
|
||||
**<445>**
|
||||
**<![1]445>**
|
||||
```
|
||||
|
||||
Invalid old pattern:
|
||||
|
||||
```text
|
||||
**<[1]445>**
|
||||
```
|
||||
|
||||
## Known Regression Cases
|
||||
|
||||
Use these rows as smoke tests after export logic changes:
|
||||
|
||||
```text
|
||||
17228 / 19977:
|
||||
Readable: **<[王]职阶英雄>**。全场最多存在一名**<蓬莱山辉夜>**。死亡后3回合内不可再次出战。
|
||||
Canonical: **<17914>**。全场最多存在一名**<171>**。死亡后3回合内不可再次出战。
|
||||
Expected: preserve 17228; do not create/use 19977.
|
||||
```
|
||||
|
||||
```text
|
||||
18136 style ordered terrain/statue:
|
||||
Excel: 可在**<![1]深海>**中建造**<![2]车之雕像>**
|
||||
Asset: 可在**<![1]445>**中建造**<![2]18133>**
|
||||
Expected: no bare numbers in Excel when source IDs resolve.
|
||||
```
|
||||
|
||||
```text
|
||||
Bracket labels:
|
||||
**<[王]职阶英雄>**
|
||||
**<[基础属性]>**
|
||||
Expected: treated as normal special terms, not ordered markers.
|
||||
```
|
||||
|
||||
## Common Failure Modes
|
||||
|
||||
- Excel shows duplicate rows but Asset raw differs.
|
||||
- Cause: readable form and ID form both exist.
|
||||
- Fix: canonicalize existing `item.ZH` before dedupe and `_zhStrDict`.
|
||||
- Excel shows bare `445` or `18133` inside embedded terms.
|
||||
- Cause: ID pattern did not resolve or source marker format is wrong.
|
||||
- Fix: confirm Asset uses `**<id>**` or `**<![n]id>**`, not `**<[n]id>**`.
|
||||
- Console logs `[马]` or `[王]` as non-numeric prefix.
|
||||
- Cause: parser matched `[anything]` as order prefix.
|
||||
- Fix: ordered prefix regex must require `^!\[(\d+)\]`.
|
||||
- New active blank row replaces old translated row.
|
||||
- Cause: scan did not find the canonical old ID.
|
||||
- Fix: compare canonical raw strings and preserve lower/translated ID.
|
||||
169
.codex/skills/th1-multilingual/references/pipeline.md
Normal file
169
.codex/skills/th1-multilingual/references/pipeline.md
Normal file
@ -0,0 +1,169 @@
|
||||
# TH1 Multilingual Pipeline
|
||||
|
||||
## Key Files
|
||||
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Editor/MultilingualEditorWindow.cs`
|
||||
- Editor UI.
|
||||
- `AssetExportToExcel`.
|
||||
- `DuplicateRemoval`.
|
||||
- `ExportSpecialTerm`.
|
||||
- `ExcelExportToAsset`.
|
||||
- `TraverseObject`.
|
||||
- `Unity/Assets/Scripts/TH1_Logic/Multilingual/MultilingualData.cs`
|
||||
- Runtime/editor string lookup.
|
||||
- Embedded string resolve/unresolve.
|
||||
- Language fallback.
|
||||
- `MultilingualItem`.
|
||||
- `Unity/Assets/Resources/Export/Multilingual.asset`
|
||||
- Canonical ScriptableObject data.
|
||||
- `Tools/MultilingualTxt.txt`
|
||||
- Intermediate delimiter file.
|
||||
- `Tools/Multilingual.xlsx`
|
||||
- Human editing/translation sheet.
|
||||
- `Tools/ExportStringToExcel.py`
|
||||
- TXT to Excel.
|
||||
- `Tools/PrintExcelString.py`
|
||||
- Excel to TXT.
|
||||
|
||||
## Data Columns
|
||||
|
||||
Current Excel/TXT order:
|
||||
|
||||
```text
|
||||
0 ID
|
||||
1 Active
|
||||
2 ZH
|
||||
3 TDZH
|
||||
4 EN
|
||||
5 JP
|
||||
6 KR
|
||||
7 IsSecondary
|
||||
8 IsProperNoun
|
||||
9 IsDialogue
|
||||
10 DialogueSpeaker
|
||||
11 IsDeprecated
|
||||
12 IsCustom
|
||||
13 IsSpecialTerm
|
||||
14 Color
|
||||
15 Icon
|
||||
16 Desc (Excel only; TXT may omit when importing to asset)
|
||||
```
|
||||
|
||||
TXT delimiters:
|
||||
|
||||
```text
|
||||
column: %$#@!
|
||||
row: !@#$%
|
||||
```
|
||||
|
||||
## Canonical Storage Model
|
||||
|
||||
Store embedded special terms in `Multilingual.asset` as IDs:
|
||||
|
||||
```text
|
||||
**<171>**
|
||||
**<![1]445>**
|
||||
```
|
||||
|
||||
Show embedded special terms in Excel as readable text:
|
||||
|
||||
```text
|
||||
**<蓬莱山辉夜>**
|
||||
**<![1]森林>**
|
||||
```
|
||||
|
||||
The same row can therefore have different representations at different phases. Always name which phase is being discussed.
|
||||
|
||||
## Export Phases
|
||||
|
||||
1. `DuplicateRemoval()`
|
||||
- Sort by ID.
|
||||
- Refresh strings.
|
||||
- Apply optional old color syntax transform when `_isTransformStr`.
|
||||
- Build a temporary `ZH -> ID` index from existing items.
|
||||
- Canonicalize existing `item.ZH` from readable term form to internal ID form.
|
||||
- Deduplicate by canonical raw `item.ZH`.
|
||||
2. Initialize `_zhStrDict` from canonical `item.ZH`.
|
||||
3. Scan active `TextMeshProUGUI` from scene `UICanvas`.
|
||||
4. Scan prefabs under `Assets/Resources/Prefab/`.
|
||||
5. Scan ScriptableObjects under `Assets/Resources/DataAssets/`.
|
||||
6. For each source string:
|
||||
- Trim and normalize newlines.
|
||||
- Optionally `TransformString`.
|
||||
- `ExportSpecialTerm` to internal ID form.
|
||||
- Lookup canonical text in `_zhStrDict`.
|
||||
- Reuse existing ID or allocate `_idIndex`.
|
||||
- Record `_activeSet` and `_descDict`.
|
||||
7. Add genuinely new `_zhStrDict` entries to `_asset.Items`.
|
||||
8. Write `MultilingualTxt.txt` with `GetMultilingualStrEditor`, which expands IDs for Excel.
|
||||
9. Run `ExportStringToExcel.py`.
|
||||
|
||||
## Import Phases
|
||||
|
||||
1. Run `PrintExcelString.py`.
|
||||
2. Read `MultilingualTxt.txt`.
|
||||
3. Locate or create item by ID.
|
||||
4. Assign non-empty language cells.
|
||||
5. Assign flags and metadata.
|
||||
6. `RefreshDict`.
|
||||
7. For active items:
|
||||
- `item.ZH = UnResolveEmbeddedStrings(item.ZH, ZH)`.
|
||||
- `TDZH/EN/JP/KR = AlignEmbeddedStringsToZH(item.ZH, languageText, type, item.ID)`.
|
||||
8. `item.Refresh()`.
|
||||
9. Save `Multilingual.asset`.
|
||||
|
||||
## Embedded String Functions
|
||||
|
||||
- `ExportSpecialTerm(origin, regex)`
|
||||
- Editor export: readable source text to internal IDs.
|
||||
- Creates special-term items when actual term text is new.
|
||||
- `GetMultilingualStrEditor(id, type)`
|
||||
- Asset internal ID form to Excel-readable form.
|
||||
- `ResolveEmbeddedStringsRunning(origin, type)`
|
||||
- Runtime ID form to colored and optional icon text.
|
||||
- `UnResolveEmbeddedStrings(origin, type)`
|
||||
- Excel-readable form to ID form for the target language.
|
||||
- `AlignEmbeddedStringsToZH(zhResolved, otherOrigin, type, itemId)`
|
||||
- Replace other language markers with the exact IDs from canonical Chinese.
|
||||
|
||||
## Special Term Syntax
|
||||
|
||||
Valid:
|
||||
|
||||
```text
|
||||
**<文本>**
|
||||
**<123>**
|
||||
**<![1]文本>**
|
||||
**<![1]123>**
|
||||
```
|
||||
|
||||
Invalid ordered marker:
|
||||
|
||||
```text
|
||||
**<[1]文本>**
|
||||
```
|
||||
|
||||
Normal bracketed term, not an ordered marker:
|
||||
|
||||
```text
|
||||
**<[马]职阶英雄>**
|
||||
**<[基础属性]>**
|
||||
```
|
||||
|
||||
## Runtime Notes
|
||||
|
||||
Runtime text lookup uses `GetMultilingualStr(id, type)`.
|
||||
|
||||
Fallback rules in `MultilingualData`:
|
||||
|
||||
- Main languages `ZH`, `TDZH`, `EN`, `JP`, `KR` do not fallback to English except `EN` can fallback to Chinese.
|
||||
- Extended languages fallback to English, then Chinese.
|
||||
- Embedded IDs are resolved after fallback.
|
||||
|
||||
Runtime embedded special terms may add color and icon:
|
||||
|
||||
```text
|
||||
<sprite name="..."><color=#...>text</color>
|
||||
```
|
||||
|
||||
Nested embedded terms are invalid and should log errors.
|
||||
46
.codex/skills/th1-online-debug/SKILL.md
Normal file
46
.codex/skills/th1-online-debug/SKILL.md
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
name: th1-online-debug
|
||||
description: Project-specific online production debug workflow for TH1 player backend errors, CrashSight/UnityLogError reports, obfuscated stack traces, short obfuscated class/method names, live-version crash triage, and locating/fixing decoded Unity C# issues. Use whenever the user provides online logs, backend exception messages, production crash text, or mixed obfuscated names such as fu/blu/gn.blu; always decode with Tools/DecodeOnlineError.ps1 or Tools/ObfuscatedExceptionDecoder.ps1 before searching code.
|
||||
---
|
||||
|
||||
# TH1 Online Debug
|
||||
|
||||
Use this skill when investigating production/online errors for `F:\th1new`, especially logs from the backend console, CrashSight, `UnityLogError`, or messages that include obfuscated symbols.
|
||||
|
||||
## First Move
|
||||
|
||||
Preserve the raw log text, version, time range, and frequency if provided. Do not guess from short obfuscated tokens alone.
|
||||
|
||||
If the log contains likely obfuscated names, decode it before code search:
|
||||
|
||||
```powershell
|
||||
pwsh -NoProfile -ExecutionPolicy Bypass -File Tools\DecodeOnlineError.ps1 -Text @'
|
||||
PASTE_RAW_ERROR_HERE
|
||||
'@
|
||||
```
|
||||
|
||||
For a file:
|
||||
|
||||
```powershell
|
||||
pwsh -NoProfile -ExecutionPolicy Bypass -File Tools\DecodeOnlineError.ps1 -InputPath crash.txt -OutputPath decoded_crash.txt
|
||||
```
|
||||
|
||||
Use `-Replace` only when the decoded output is easier to search without annotations. Use `-AggressiveShortNames` only for mostly-symbol stack traces; it can misread normal prose such as `to` or `in`.
|
||||
|
||||
## Investigation Workflow
|
||||
|
||||
1. Decode obfuscated text with `Tools\DecodeOnlineError.ps1`.
|
||||
2. Search decoded classes/methods with `rg` in `Unity\Assets`, `DotNet`, and other relevant project folders.
|
||||
3. Trace the runtime path from the decoded symbol outward: caller, state assumptions, null/empty data, network ownership, save/load state, and version-specific behavior.
|
||||
4. If decoded symbols are under `TH1_Logic.Steam`, lobby, P2P, force update, action sync, map sync, heartbeat, or reconnect code, also use the `th1-network-sync` skill.
|
||||
5. Make a focused fix; do not touch unrelated generated Unity metadata or user changes.
|
||||
6. Verify with targeted tests, compile/build checks when practical, and a command-line decode sanity check if the fix references the reported symbol.
|
||||
|
||||
## Reporting Back
|
||||
|
||||
Summarize:
|
||||
|
||||
- raw obfuscated token(s) and decoded symbol(s)
|
||||
- likely user-visible symptom
|
||||
- root cause and changed files
|
||||
- verification performed
|
||||
275
DotNet/App/DotNet.App.csproj.lscache
Normal file
275
DotNet/App/DotNet.App.csproj.lscache
Normal file
@ -0,0 +1,275 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=App
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/App.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/App.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe-
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize+
|
||||
/out:obj\Debug\App.dll
|
||||
/refout:obj\Debug\refint\App.dll
|
||||
/target:exe
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
obj/Debug/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
DotNet.App.AssemblyInfo.cs
|
||||
Program.cs
|
||||
|
||||
[metadataReferences]
|
||||
../
|
||||
Core/obj/Debug/ref/Core.dll
|
||||
Loader/obj/Debug/ref/Loader.dll
|
||||
Model/obj/Debug/ref/Model.dll
|
||||
ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.App.GeneratedMSBuildEditorConfig.editorconfig
|
||||
275
DotNet/Core/DotNet.Core.csproj.lscache
Normal file
275
DotNet/Core/DotNet.Core.csproj.lscache
Normal file
@ -0,0 +1,275 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Core
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/Core.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/Core.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe+
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,CS9193,CS9192,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:disable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Core.dll
|
||||
/refout:obj\Debug\refint\Core.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
obj/Debug/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
DotNet.Core.AssemblyInfo.cs
|
||||
DotNet.Core.GlobalUsings.g.cs
|
||||
|
||||
[metadataReferences]
|
||||
../ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
../../Share/
|
||||
Analyzer/bin/Debug/Share.Analyzer.dll
|
||||
Share.SourceGenerator/bin/Debug/Share.SourceGenerator.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.Core.GeneratedMSBuildEditorConfig.editorconfig
|
||||
275
DotNet/Hotfix/DotNet.Hotfix.csproj.lscache
Normal file
275
DotNet/Hotfix/DotNet.Hotfix.csproj.lscache
Normal file
@ -0,0 +1,275 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Hotfix
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/Hotfix.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/Hotfix.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe-
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,CS9193,CS9192,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Hotfix.dll
|
||||
/refout:obj\Debug\refint\Hotfix.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
obj/Debug/DotNet.Hotfix.AssemblyInfo.cs
|
||||
|
||||
[metadataReferences]
|
||||
../
|
||||
Core/obj/Debug/ref/Core.dll
|
||||
Loader/obj/Debug/ref/Loader.dll
|
||||
Model/obj/Debug/ref/Model.dll
|
||||
ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
../../Share/
|
||||
Analyzer/bin/Debug/Share.Analyzer.dll
|
||||
Share.SourceGenerator/bin/Debug/Share.SourceGenerator.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.Hotfix.GeneratedMSBuildEditorConfig.editorconfig
|
||||
279
DotNet/Loader/DotNet.Loader.csproj.lscache
Normal file
279
DotNet/Loader/DotNet.Loader.csproj.lscache
Normal file
@ -0,0 +1,279 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Loader
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/Loader.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/Loader.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe+
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Loader.dll
|
||||
/refout:obj\Debug\refint\Loader.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
CodeLoader.cs
|
||||
ConfigLoaderInvoker.cs
|
||||
Init.cs
|
||||
obj/Debug/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
DotNet.Loader.AssemblyInfo.cs
|
||||
RecastFileReader.cs
|
||||
|
||||
[metadataReferences]
|
||||
../
|
||||
Core/obj/Debug/ref/Core.dll
|
||||
ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
../../Share/
|
||||
Analyzer/bin/Debug/Share.Analyzer.dll
|
||||
Share.SourceGenerator/bin/Debug/Share.SourceGenerator.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.Loader.GeneratedMSBuildEditorConfig.editorconfig
|
||||
273
DotNet/Model/DotNet.Model.csproj.lscache
Normal file
273
DotNet/Model/DotNet.Model.csproj.lscache
Normal file
@ -0,0 +1,273 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Model
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/Model.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/Model.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe+
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,CS9193,CS9192,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Model.dll
|
||||
/refout:obj\Debug\refint\Model.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
obj/Debug/DotNet.Model.AssemblyInfo.cs
|
||||
|
||||
[metadataReferences]
|
||||
../
|
||||
Core/obj/Debug/ref/Core.dll
|
||||
ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
../../Share/
|
||||
Analyzer/bin/Debug/Share.Analyzer.dll
|
||||
Share.SourceGenerator/bin/Debug/Share.SourceGenerator.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.Model.GeneratedMSBuildEditorConfig.editorconfig
|
||||
452
DotNet/ThirdParty/DotNet.ThirdParty.csproj.lscache
vendored
Normal file
452
DotNet/ThirdParty/DotNet.ThirdParty.csproj.lscache
vendored
Normal file
@ -0,0 +1,452 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=ThirdParty
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET;UNITY_DOTSPLAYER
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/ThirdParty.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/ThirdParty.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe+
|
||||
/checked-
|
||||
/nowarn:0169,0649,3021,8981,NU1903,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;UNITY_DOTSPLAYER;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:disable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize+
|
||||
/out:obj\Debug\ThirdParty.dll
|
||||
/refout:obj\Debug\refint\ThirdParty.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
../../Unity/Library/PackageCache/com.unity.mathematics@1.2.6/Unity.Mathematics/
|
||||
bool2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool2x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool2x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool2x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool3x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool3x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool3x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool4x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool4x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
bool4x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double2x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double2x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double2x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double3x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double3x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double3x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double4x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double4x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
double4x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float2x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float2x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float2x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float3x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float3x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float3x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float4x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float4x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
float4x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
Geometry/
|
||||
MinMaxAABB.cs
|
||||
@folderNames=Unity.Mathematics,Geometry
|
||||
Plane.cs
|
||||
@folderNames=Unity.Mathematics,Geometry
|
||||
half.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
half2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
half3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
half4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
Il2CppEagerStaticClassConstructionAttribute.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int2x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int2x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int2x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int3x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int3x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int3x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int4x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int4x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
int4x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
math.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
math_unity_conversion.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
matrix.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
matrix.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
Noise/
|
||||
cellular2D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
cellular2x2.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
cellular2x2x2.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
cellular3D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
classicnoise2D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
classicnoise3D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
classicnoise4D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
common.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
noise2D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
noise3D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
noise3Dgrad.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
noise4D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
psrdnoise2D.cs
|
||||
@folderNames=Unity.Mathematics,Noise
|
||||
Properties/AssemblyInfo.cs
|
||||
@folderNames=Unity.Mathematics,Properties
|
||||
PropertyAttributes.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
quaternion.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
random.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
rigid_transform.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint2x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint2x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint2x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint3x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint3x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint3x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint4x2.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint4x3.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
uint4x4.gen.cs
|
||||
@folderNames=Unity.Mathematics
|
||||
obj/Debug/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
DotNet.ThirdParty.AssemblyInfo.cs
|
||||
Unity.Mathematics/PropertyAttribute.cs
|
||||
|
||||
[metadataReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/DotNet.ThirdParty.GeneratedMSBuildEditorConfig.editorconfig
|
||||
282
ExcelExport/ExcelExport.csproj.lscache
Normal file
282
ExcelExport/ExcelExport.csproj.lscache
Normal file
@ -0,0 +1,282 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=ExcelExport
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12.0 -define:TRACE
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ExcelExport
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>bin/Debug/net8.0/ExcelExport.dll
|
||||
TargetRefPath=<PATH>obj/Debug/net8.0/ref/ExcelExport.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe-
|
||||
/checked-
|
||||
/nowarn:1701,1702,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:TRACE;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:enable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\net8.0\ExcelExport.dll
|
||||
/refout:obj\Debug\net8.0\refint\ExcelExport.dll
|
||||
/target:exe
|
||||
/warnaserror-
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12.0
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
ExcelConfigBase.cs
|
||||
Export.cs
|
||||
GenerateCS/
|
||||
AIConfig.cs
|
||||
GeoDesc.cs
|
||||
Moment.cs
|
||||
GenerateCSPartial/
|
||||
AIConfig.cs
|
||||
GeoDesc.cs
|
||||
Moment.cs
|
||||
obj/Debug/net8.0/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
ExcelExport.AssemblyInfo.cs
|
||||
ExcelExport.GlobalUsings.g.cs
|
||||
Program.cs
|
||||
|
||||
[metadataReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/net8.0/ExcelExport.GeneratedMSBuildEditorConfig.editorconfig
|
||||
233
Share/Analyzer/Share.Analyzer.csproj.lscache
Normal file
233
Share/Analyzer/Share.Analyzer.csproj.lscache
Normal file
@ -0,0 +1,233 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Share.Analyzer
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:TRACE
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=7.3
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=Share.Analyzer
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETStandard
|
||||
TargetPath=<PATH>bin/Debug/Share.Analyzer.dll
|
||||
TargetRefPath=
|
||||
TemporaryDependencyNodeTargetIdentifier=netstandard2.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe-
|
||||
/checked-
|
||||
/nowarn:1701,1702,RS2008,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/define:TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;NETSTANDARD1_0_OR_GREATER;NETSTANDARD1_1_OR_GREATER;NETSTANDARD1_2_OR_GREATER;NETSTANDARD1_3_OR_GREATER;NETSTANDARD1_4_OR_GREATER;NETSTANDARD1_5_OR_GREATER;NETSTANDARD1_6_OR_GREATER;NETSTANDARD2_0_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:enable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Share.Analyzer.dll
|
||||
/target:library
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605
|
||||
|
||||
[sourceFiles]
|
||||
../../Unity/Assets/Scripts/Core/Helper/StringHashHelper.cs
|
||||
Analyzer/
|
||||
AddChildTypeAnalyzer.cs
|
||||
AsyncMethodReturnTypeAnalyzer.cs
|
||||
ClassDeclarationInHotfixAnalyzer.cs
|
||||
ClientClassInServerAnalyzer.cs
|
||||
DiableNewAnalyzer.cs
|
||||
DisableNormalClassDeclaratonInModelAssemblyAnalyzer.cs
|
||||
EntityClassDeclarationAnalyzer.cs
|
||||
EntityComponentAnalyzer.cs
|
||||
EntityFiledAccessAnalyzer.cs
|
||||
EntityHashCodeAnalyzer.cs
|
||||
EntityMemberDeclarationAnalyzer.cs
|
||||
EntityMethodDeclarationAnalyzer.cs
|
||||
EntitySystemAnalyzer.cs
|
||||
ETCancellationTokenAnalyzer.cs
|
||||
ETTaskAnalyzer.cs
|
||||
HotfixProjectFieldDeclarationAnalyzer.cs
|
||||
NetMessageAnalyzer.cs
|
||||
StaticClassCircularDependencyAnalyzer.cs
|
||||
StaticFieldDeclarationAnalyzer.cs
|
||||
UniqueIdAnalyzer.cs
|
||||
AnalyzerGlobalSetting.cs
|
||||
CodeFixer/
|
||||
EntityFiledAccessCodeFixProvider.cs
|
||||
EntitySystemCodeFixProvider.cs
|
||||
Config/
|
||||
AnalyzeAssembly.cs
|
||||
Definition.cs
|
||||
DiagnosticCategories.cs
|
||||
DiagnosticIds.cs
|
||||
DiagnosticRules.cs
|
||||
Extension/AnalyzerHelper.cs
|
||||
obj/Debug/
|
||||
.NETStandard,Version=v2.0.AssemblyAttributes.cs
|
||||
Share.Analyzer.AssemblyInfo.cs
|
||||
|
||||
[metadataReferences]
|
||||
<NUGET>/
|
||||
microsoft.bcl.asyncinterfaces/5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netstandard2.0/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp.workspaces/4.0.1/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.codeanalysis.workspaces.common/4.0.1/lib/netstandard2.0/Microsoft.CodeAnalysis.Workspaces.dll
|
||||
netstandard.library/2.0.3/build/netstandard2.0/ref/
|
||||
Microsoft.Win32.Primitives.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Composition.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
system.buffers/4.5.1/ref/netstandard2.0/System.Buffers.dll
|
||||
system.collections.immutable/5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll
|
||||
system.composition.attributedmodel/1.0.31/lib/netstandard1.0/System.Composition.AttributedModel.dll
|
||||
system.composition.convention/1.0.31/lib/netstandard1.0/System.Composition.Convention.dll
|
||||
system.composition.hosting/1.0.31/lib/netstandard1.0/System.Composition.Hosting.dll
|
||||
system.composition.runtime/1.0.31/lib/netstandard1.0/System.Composition.Runtime.dll
|
||||
system.composition.typedparts/1.0.31/lib/netstandard1.0/System.Composition.TypedParts.dll
|
||||
system.io.pipelines/5.0.1/lib/netstandard2.0/System.IO.Pipelines.dll
|
||||
system.memory/4.5.4/lib/netstandard2.0/System.Memory.dll
|
||||
system.numerics.vectors/4.4.0/ref/netstandard2.0/System.Numerics.Vectors.dll
|
||||
system.reflection.metadata/5.0.0/lib/netstandard2.0/System.Reflection.Metadata.dll
|
||||
system.runtime.compilerservices.unsafe/5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll
|
||||
system.text.encoding.codepages/4.5.1/lib/netstandard2.0/System.Text.Encoding.CodePages.dll
|
||||
system.threading.tasks.extensions/4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<NUGET>/microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
obj/Debug/Share.Analyzer.GeneratedMSBuildEditorConfig.editorconfig
|
||||
208
Share/Share.SourceGenerator/Share.SourceGenerator.csproj.lscache
Normal file
208
Share/Share.SourceGenerator/Share.SourceGenerator.csproj.lscache
Normal file
@ -0,0 +1,208 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Share.SourceGenerator
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:TRACE
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=7.3
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=Share.SourceGenerator
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETStandard
|
||||
TargetPath=<PATH>bin/Debug/Share.SourceGenerator.dll
|
||||
TargetRefPath=
|
||||
TemporaryDependencyNodeTargetIdentifier=netstandard2.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe-
|
||||
/checked-
|
||||
/nowarn:1701,1702,RS2008,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/define:TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;NETSTANDARD1_0_OR_GREATER;NETSTANDARD1_1_OR_GREATER;NETSTANDARD1_2_OR_GREATER;NETSTANDARD1_3_OR_GREATER;NETSTANDARD1_4_OR_GREATER;NETSTANDARD1_5_OR_GREATER;NETSTANDARD1_6_OR_GREATER;NETSTANDARD2_0_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:enable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Share.SourceGenerator.dll
|
||||
/target:library
|
||||
/warnaserror-
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605
|
||||
|
||||
[sourceFiles]
|
||||
../
|
||||
../Unity/Assets/Scripts/Core/Helper/StringHashHelper.cs
|
||||
Analyzer/Config/
|
||||
AnalyzeAssembly.cs
|
||||
Definition.cs
|
||||
Analyzer/Extension/AnalyzerHelper.cs
|
||||
@folderNames=Extension
|
||||
Config/
|
||||
DiagnosticCategories.cs
|
||||
DiagnosticIds.cs
|
||||
DiagnosticRules.cs
|
||||
Generator/
|
||||
ETEntitySerializeFormatterGenerator.cs
|
||||
ETGetComponentGenerator.cs
|
||||
ETSystemGenerator/
|
||||
AttributeTemplate.cs
|
||||
ETSystemGenerator.cs
|
||||
obj/Debug/
|
||||
.NETStandard,Version=v2.0.AssemblyAttributes.cs
|
||||
Share.SourceGenerator.AssemblyInfo.cs
|
||||
|
||||
[metadataReferences]
|
||||
<NUGET>/
|
||||
microsoft.codeanalysis.common/3.9.0/lib/netstandard2.0/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/3.9.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll
|
||||
netstandard.library/2.0.3/build/netstandard2.0/ref/
|
||||
Microsoft.Win32.Primitives.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Composition.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
system.buffers/4.5.1/ref/netstandard2.0/System.Buffers.dll
|
||||
system.collections.immutable/5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll
|
||||
system.memory/4.5.4/lib/netstandard2.0/System.Memory.dll
|
||||
system.numerics.vectors/4.4.0/ref/netstandard2.0/System.Numerics.Vectors.dll
|
||||
system.reflection.metadata/5.0.0/lib/netstandard2.0/System.Reflection.Metadata.dll
|
||||
system.runtime.compilerservices.unsafe/5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll
|
||||
system.text.encoding.codepages/4.5.1/lib/netstandard2.0/System.Text.Encoding.CodePages.dll
|
||||
system.threading.tasks.extensions/4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<NUGET>/microsoft.codeanalysis.analyzers/3.3.3/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
obj/Debug/Share.SourceGenerator.GeneratedMSBuildEditorConfig.editorconfig
|
||||
278
Share/Tool/Share.Tool.csproj.lscache
Normal file
278
Share/Tool/Share.Tool.csproj.lscache
Normal file
@ -0,0 +1,278 @@
|
||||
version=1
|
||||
|
||||
# This file caches language service data to improve the performance of C# Dev Kit.
|
||||
# It is not intended for manual editing. It can safely be deleted and will be
|
||||
# regenerated automatically. For more information, see https://aka.ms/lscache
|
||||
#
|
||||
# To control where cache files are stored, use the following VS Code setting:
|
||||
# "dotnet.projectsystem.cacheInProjectFolder": true
|
||||
|
||||
[project]
|
||||
language=C#
|
||||
primary
|
||||
lastDtbSucceeded
|
||||
|
||||
[properties]
|
||||
AssemblyName=Tool
|
||||
CommandLineArgsForDesignTimeEvaluation=-langversion:12 -define:DOTNET
|
||||
CompilerGeneratedFilesOutputPath=
|
||||
MaxSupportedLangVersion=12.0
|
||||
ProjectAssetsFile=<PATH>obj/project.assets.json
|
||||
RootNamespace=ET
|
||||
RunAnalyzers=
|
||||
RunAnalyzersDuringLiveAnalysis=
|
||||
SolutionPath=<PATH>../../ET.sln
|
||||
TargetFrameworkIdentifier=.NETCoreApp
|
||||
TargetPath=<PATH>../../Bin/Tool.dll
|
||||
TargetRefPath=<PATH>obj/Debug/ref/Tool.dll
|
||||
TemporaryDependencyNodeTargetIdentifier=net8.0
|
||||
|
||||
[commandLineArguments]
|
||||
/noconfig
|
||||
/unsafe+
|
||||
/checked-
|
||||
/nowarn:1701,1702,1701,1702
|
||||
/fullpaths
|
||||
/nostdlib+
|
||||
/errorreport:prompt
|
||||
/warn:8
|
||||
/define:DOTNET;DEBUG;NET;NET8_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
|
||||
/highentropyva+
|
||||
/nullable:disable
|
||||
/debug+
|
||||
/debug:portable
|
||||
/filealign:512
|
||||
/optimize-
|
||||
/out:obj\Debug\Tool.dll
|
||||
/refout:obj\Debug\refint\Tool.dll
|
||||
/target:exe
|
||||
/warnaserror+
|
||||
/utf8output
|
||||
/deterministic+
|
||||
/langversion:12
|
||||
/warnaserror+:NU1605,SYSLIB0011
|
||||
|
||||
[sourceFiles]
|
||||
../../Unity/Assets/Scripts/Core/Network/OpcodeRangeDefine.cs
|
||||
@folderNames=Module,Message
|
||||
ExcelExporter/ExcelExporter.cs
|
||||
Init.cs
|
||||
obj/Debug/
|
||||
.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
|
||||
Share.Tool.AssemblyInfo.cs
|
||||
Proto2CS/Proto2CS.cs
|
||||
|
||||
[metadataReferences]
|
||||
../../DotNet/
|
||||
Core/obj/Debug/ref/Core.dll
|
||||
ThirdParty/obj/Debug/ref/ThirdParty.dll
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/ref/net8.0/
|
||||
Microsoft.CSharp.dll
|
||||
Microsoft.VisualBasic.Core.dll
|
||||
Microsoft.VisualBasic.dll
|
||||
Microsoft.Win32.Primitives.dll
|
||||
Microsoft.Win32.Registry.dll
|
||||
mscorlib.dll
|
||||
netstandard.dll
|
||||
System.AppContext.dll
|
||||
System.Buffers.dll
|
||||
System.Collections.Concurrent.dll
|
||||
System.Collections.dll
|
||||
System.Collections.Immutable.dll
|
||||
System.Collections.NonGeneric.dll
|
||||
System.Collections.Specialized.dll
|
||||
System.ComponentModel.Annotations.dll
|
||||
System.ComponentModel.DataAnnotations.dll
|
||||
System.ComponentModel.dll
|
||||
System.ComponentModel.EventBasedAsync.dll
|
||||
System.ComponentModel.Primitives.dll
|
||||
System.ComponentModel.TypeConverter.dll
|
||||
System.Configuration.dll
|
||||
System.Console.dll
|
||||
System.Core.dll
|
||||
System.Data.Common.dll
|
||||
System.Data.DataSetExtensions.dll
|
||||
System.Data.dll
|
||||
System.Diagnostics.Contracts.dll
|
||||
System.Diagnostics.Debug.dll
|
||||
System.Diagnostics.DiagnosticSource.dll
|
||||
System.Diagnostics.FileVersionInfo.dll
|
||||
System.Diagnostics.Process.dll
|
||||
System.Diagnostics.StackTrace.dll
|
||||
System.Diagnostics.TextWriterTraceListener.dll
|
||||
System.Diagnostics.Tools.dll
|
||||
System.Diagnostics.TraceSource.dll
|
||||
System.Diagnostics.Tracing.dll
|
||||
System.dll
|
||||
System.Drawing.dll
|
||||
System.Drawing.Primitives.dll
|
||||
System.Dynamic.Runtime.dll
|
||||
System.Formats.Asn1.dll
|
||||
System.Formats.Tar.dll
|
||||
System.Globalization.Calendars.dll
|
||||
System.Globalization.dll
|
||||
System.Globalization.Extensions.dll
|
||||
System.IO.Compression.Brotli.dll
|
||||
System.IO.Compression.dll
|
||||
System.IO.Compression.FileSystem.dll
|
||||
System.IO.Compression.ZipFile.dll
|
||||
System.IO.dll
|
||||
System.IO.FileSystem.AccessControl.dll
|
||||
System.IO.FileSystem.dll
|
||||
System.IO.FileSystem.DriveInfo.dll
|
||||
System.IO.FileSystem.Primitives.dll
|
||||
System.IO.FileSystem.Watcher.dll
|
||||
System.IO.IsolatedStorage.dll
|
||||
System.IO.MemoryMappedFiles.dll
|
||||
System.IO.Pipes.AccessControl.dll
|
||||
System.IO.Pipes.dll
|
||||
System.IO.UnmanagedMemoryStream.dll
|
||||
System.Linq.dll
|
||||
System.Linq.Expressions.dll
|
||||
System.Linq.Parallel.dll
|
||||
System.Linq.Queryable.dll
|
||||
System.Memory.dll
|
||||
System.Net.dll
|
||||
System.Net.Http.dll
|
||||
System.Net.Http.Json.dll
|
||||
System.Net.HttpListener.dll
|
||||
System.Net.Mail.dll
|
||||
System.Net.NameResolution.dll
|
||||
System.Net.NetworkInformation.dll
|
||||
System.Net.Ping.dll
|
||||
System.Net.Primitives.dll
|
||||
System.Net.Quic.dll
|
||||
System.Net.Requests.dll
|
||||
System.Net.Security.dll
|
||||
System.Net.ServicePoint.dll
|
||||
System.Net.Sockets.dll
|
||||
System.Net.WebClient.dll
|
||||
System.Net.WebHeaderCollection.dll
|
||||
System.Net.WebProxy.dll
|
||||
System.Net.WebSockets.Client.dll
|
||||
System.Net.WebSockets.dll
|
||||
System.Numerics.dll
|
||||
System.Numerics.Vectors.dll
|
||||
System.ObjectModel.dll
|
||||
System.Reflection.DispatchProxy.dll
|
||||
System.Reflection.dll
|
||||
System.Reflection.Emit.dll
|
||||
System.Reflection.Emit.ILGeneration.dll
|
||||
System.Reflection.Emit.Lightweight.dll
|
||||
System.Reflection.Extensions.dll
|
||||
System.Reflection.Metadata.dll
|
||||
System.Reflection.Primitives.dll
|
||||
System.Reflection.TypeExtensions.dll
|
||||
System.Resources.Reader.dll
|
||||
System.Resources.ResourceManager.dll
|
||||
System.Resources.Writer.dll
|
||||
System.Runtime.CompilerServices.Unsafe.dll
|
||||
System.Runtime.CompilerServices.VisualC.dll
|
||||
System.Runtime.dll
|
||||
System.Runtime.Extensions.dll
|
||||
System.Runtime.Handles.dll
|
||||
System.Runtime.InteropServices.dll
|
||||
System.Runtime.InteropServices.JavaScript.dll
|
||||
System.Runtime.InteropServices.RuntimeInformation.dll
|
||||
System.Runtime.Intrinsics.dll
|
||||
System.Runtime.Loader.dll
|
||||
System.Runtime.Numerics.dll
|
||||
System.Runtime.Serialization.dll
|
||||
System.Runtime.Serialization.Formatters.dll
|
||||
System.Runtime.Serialization.Json.dll
|
||||
System.Runtime.Serialization.Primitives.dll
|
||||
System.Runtime.Serialization.Xml.dll
|
||||
System.Security.AccessControl.dll
|
||||
System.Security.Claims.dll
|
||||
System.Security.Cryptography.Algorithms.dll
|
||||
System.Security.Cryptography.Cng.dll
|
||||
System.Security.Cryptography.Csp.dll
|
||||
System.Security.Cryptography.dll
|
||||
System.Security.Cryptography.Encoding.dll
|
||||
System.Security.Cryptography.OpenSsl.dll
|
||||
System.Security.Cryptography.Primitives.dll
|
||||
System.Security.Cryptography.X509Certificates.dll
|
||||
System.Security.dll
|
||||
System.Security.Principal.dll
|
||||
System.Security.Principal.Windows.dll
|
||||
System.Security.SecureString.dll
|
||||
System.ServiceModel.Web.dll
|
||||
System.ServiceProcess.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
System.Text.Encoding.dll
|
||||
System.Text.Encoding.Extensions.dll
|
||||
System.Text.Encodings.Web.dll
|
||||
System.Text.Json.dll
|
||||
System.Text.RegularExpressions.dll
|
||||
System.Threading.Channels.dll
|
||||
System.Threading.dll
|
||||
System.Threading.Overlapped.dll
|
||||
System.Threading.Tasks.Dataflow.dll
|
||||
System.Threading.Tasks.dll
|
||||
System.Threading.Tasks.Extensions.dll
|
||||
System.Threading.Tasks.Parallel.dll
|
||||
System.Threading.Thread.dll
|
||||
System.Threading.ThreadPool.dll
|
||||
System.Threading.Timer.dll
|
||||
System.Transactions.dll
|
||||
System.Transactions.Local.dll
|
||||
System.ValueTuple.dll
|
||||
System.Web.dll
|
||||
System.Web.HttpUtility.dll
|
||||
System.Windows.dll
|
||||
System.Xml.dll
|
||||
System.Xml.Linq.dll
|
||||
System.Xml.ReaderWriter.dll
|
||||
System.Xml.Serialization.dll
|
||||
System.Xml.XDocument.dll
|
||||
System.Xml.XmlDocument.dll
|
||||
System.Xml.XmlSerializer.dll
|
||||
System.Xml.XPath.dll
|
||||
System.Xml.XPath.XDocument.dll
|
||||
WindowsBase.dll
|
||||
<NUGET>/
|
||||
commandlineparser/2.8.0/lib/netstandard2.0/CommandLine.dll
|
||||
dnsclient/1.6.1/lib/net5.0/DnsClient.dll
|
||||
epplus/5.8.8/lib/net5.0/EPPlus.dll
|
||||
memorypack.core/1.10.0/lib/net7.0/MemoryPack.Core.dll
|
||||
microsoft.codeanalysis.common/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.dll
|
||||
microsoft.codeanalysis.csharp/4.0.1/lib/netcoreapp3.1/Microsoft.CodeAnalysis.CSharp.dll
|
||||
microsoft.extensions.configuration.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
microsoft.extensions.configuration.fileextensions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll
|
||||
microsoft.extensions.configuration.json/5.0.0/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll
|
||||
microsoft.extensions.configuration/5.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.dll
|
||||
microsoft.extensions.fileproviders.abstractions/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll
|
||||
microsoft.extensions.fileproviders.physical/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll
|
||||
microsoft.extensions.filesystemglobbing/5.0.0/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll
|
||||
microsoft.extensions.primitives/5.0.0/lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll
|
||||
microsoft.io.recyclablememorystream/1.4.1/lib/netcoreapp2.1/Microsoft.IO.RecyclableMemoryStream.dll
|
||||
mongodb.bson/2.17.1/lib/netstandard2.1/MongoDB.Bson.dll
|
||||
mongodb.driver.core/2.17.1/lib/netstandard2.1/MongoDB.Driver.Core.dll
|
||||
mongodb.driver/2.17.1/lib/netstandard2.1/MongoDB.Driver.dll
|
||||
mongodb.libmongocrypt/1.5.5/lib/netstandard2.1/MongoDB.Libmongocrypt.dll
|
||||
nlog/4.7.15/lib/netstandard2.0/NLog.dll
|
||||
sharpcompress/0.30.1/lib/net5.0/SharpCompress.dll
|
||||
sharpziplib/1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll
|
||||
system.drawing.common/5.0.0/ref/netcoreapp3.0/System.Drawing.Common.dll
|
||||
system.security.cryptography.pkcs/5.0.0/ref/netcoreapp3.0/System.Security.Cryptography.Pkcs.dll
|
||||
|
||||
[analyzerReferences]
|
||||
<DOTNET>/packs/Microsoft.NETCore.App.Ref/8.0.18/analyzers/dotnet/cs/
|
||||
Microsoft.Interop.ComInterfaceGenerator.dll
|
||||
Microsoft.Interop.JavaScript.JSImportGenerator.dll
|
||||
Microsoft.Interop.LibraryImportGenerator.dll
|
||||
Microsoft.Interop.SourceGeneration.dll
|
||||
System.Text.Json.SourceGeneration.dll
|
||||
System.Text.RegularExpressions.Generator.dll
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/
|
||||
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
|
||||
Microsoft.CodeAnalysis.NetAnalyzers.dll
|
||||
<NUGET>/
|
||||
memorypack.generator/1.10.0/analyzers/dotnet/cs/MemoryPack.Generator.dll
|
||||
microsoft.codeanalysis.analyzers/3.3.2/analyzers/dotnet/cs/
|
||||
Microsoft.CodeAnalysis.Analyzers.dll
|
||||
Microsoft.CodeAnalysis.CSharp.Analyzers.dll
|
||||
|
||||
[analyzerConfigFiles]
|
||||
<DOTNET>/sdk/8.0.412/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig
|
||||
obj/Debug/Share.Tool.GeneratedMSBuildEditorConfig.editorconfig
|
||||
72
Tools/DecodeOnlineError.ps1
Normal file
72
Tools/DecodeOnlineError.ps1
Normal file
@ -0,0 +1,72 @@
|
||||
param(
|
||||
[Parameter(ValueFromPipeline = $true)]
|
||||
[string[]]$Text,
|
||||
[string]$InputPath,
|
||||
[string]$OutputPath,
|
||||
[string]$MappingPath,
|
||||
[switch]$Replace,
|
||||
[Alias('IncludeOneCharNames')]
|
||||
[switch]$AggressiveShortNames
|
||||
)
|
||||
|
||||
Set-StrictMode -Version 2.0
|
||||
|
||||
$ScriptDirectory = if ([string]::IsNullOrWhiteSpace($PSScriptRoot)) {
|
||||
Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
}
|
||||
else {
|
||||
$PSScriptRoot
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($MappingPath)) {
|
||||
$MappingPath = Join-Path $ScriptDirectory 'OPSFile.txt'
|
||||
}
|
||||
|
||||
$pipelineText = @($input)
|
||||
$sourceText = $null
|
||||
|
||||
if ($Text -and $Text.Count -gt 0) {
|
||||
$sourceText = ($Text -join [Environment]::NewLine)
|
||||
}
|
||||
elseif ($pipelineText.Count -gt 0) {
|
||||
$sourceText = ($pipelineText -join [Environment]::NewLine)
|
||||
}
|
||||
elseif ([string]::IsNullOrWhiteSpace($InputPath)) {
|
||||
try {
|
||||
$clipText = Get-Clipboard -Raw -ErrorAction Stop
|
||||
if (-not [string]::IsNullOrWhiteSpace($clipText)) {
|
||||
$sourceText = $clipText
|
||||
}
|
||||
}
|
||||
catch {
|
||||
$sourceText = $null
|
||||
}
|
||||
}
|
||||
|
||||
$decoderPath = Join-Path $ScriptDirectory 'ObfuscatedExceptionDecoder.ps1'
|
||||
$mode = if ($Replace) { 'Replace' } else { 'Annotate' }
|
||||
$decoderParams = @{
|
||||
NoGui = $true
|
||||
MappingPath = $MappingPath
|
||||
Mode = $mode
|
||||
}
|
||||
|
||||
if ($AggressiveShortNames) {
|
||||
$decoderParams['AggressiveShortNames'] = $true
|
||||
}
|
||||
|
||||
if (-not [string]::IsNullOrWhiteSpace($InputPath)) {
|
||||
$decoderParams['InputPath'] = $InputPath
|
||||
}
|
||||
else {
|
||||
if ([string]::IsNullOrWhiteSpace($sourceText)) {
|
||||
throw 'No input text. Pass -Text, pipe text, use -InputPath, or put the log in clipboard.'
|
||||
}
|
||||
$decoderParams['Text'] = $sourceText
|
||||
}
|
||||
|
||||
if (-not [string]::IsNullOrWhiteSpace($OutputPath)) {
|
||||
$decoderParams['OutputPath'] = $OutputPath
|
||||
}
|
||||
|
||||
& $decoderPath @decoderParams
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
param(
|
||||
[string]$MappingPath = (Join-Path $PSScriptRoot 'OPSFile.txt'),
|
||||
[string]$MappingPath,
|
||||
[string]$Text,
|
||||
[string]$InputPath,
|
||||
[string]$OutputPath,
|
||||
@ -12,6 +12,19 @@ param(
|
||||
|
||||
Set-StrictMode -Version 2.0
|
||||
|
||||
$ScriptDirectory = if ([string]::IsNullOrWhiteSpace($PSScriptRoot)) {
|
||||
Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
}
|
||||
else {
|
||||
$PSScriptRoot
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($MappingPath)) {
|
||||
$MappingPath = Join-Path $ScriptDirectory 'OPSFile.txt'
|
||||
}
|
||||
|
||||
$script:OpsDecoderUiText = $null
|
||||
|
||||
function New-ObjectList {
|
||||
return New-Object 'System.Collections.Generic.List[object]'
|
||||
}
|
||||
@ -274,7 +287,7 @@ function Get-SectionPriority {
|
||||
function Format-Candidate {
|
||||
param([object]$Candidate)
|
||||
|
||||
return "$($Candidate.Section): $($Candidate.Display)"
|
||||
return "$(Get-SectionDisplayName $Candidate.Section): $($Candidate.Display)"
|
||||
}
|
||||
|
||||
function Resolve-Candidates {
|
||||
@ -501,15 +514,15 @@ function New-SummaryText {
|
||||
|
||||
$lines = New-Object 'System.Collections.Generic.List[string]'
|
||||
[void]$lines.Add('')
|
||||
[void]$lines.Add('---- OPS decode summary ----')
|
||||
[void]$lines.Add("Mapping: $($Index.MappingPath)")
|
||||
[void]$lines.Add((Get-UiText 'SummaryTitle'))
|
||||
[void]$lines.Add("$(Get-UiText 'Mapping'): $($Index.MappingPath)")
|
||||
if (-not [string]::IsNullOrWhiteSpace($Index.Version)) {
|
||||
[void]$lines.Add("Version: $($Index.Version)")
|
||||
[void]$lines.Add("$(Get-UiText 'VersionLabel'): $($Index.Version)")
|
||||
}
|
||||
[void]$lines.Add("Hits: $ReplacementCount, unique names: $($Hits.Count)")
|
||||
[void]$lines.Add("$(Get-UiText 'HitsLabel'): $ReplacementCount, $(Get-UiText 'UniqueLabel'): $($Hits.Count)")
|
||||
|
||||
if ($Hits.Count -eq 0) {
|
||||
[void]$lines.Add('No obfuscated names were matched.')
|
||||
[void]$lines.Add((Get-UiText 'NoMatches'))
|
||||
return ($lines -join [Environment]::NewLine)
|
||||
}
|
||||
|
||||
@ -518,10 +531,10 @@ function New-SummaryText {
|
||||
$hit = $Hits[$name]
|
||||
$candidates = @($hit.Candidates)
|
||||
$ordered = @(Resolve-Candidates -Candidates $candidates -PreviousChar '' -NextChar '')
|
||||
$primary = if ($ordered.Count -gt 0) { Format-Candidate $ordered[0] } else { '(unknown)' }
|
||||
$primary = if ($ordered.Count -gt 0) { Format-Candidate $ordered[0] } else { "($(Get-UiText 'Unknown'))" }
|
||||
$suffix = ''
|
||||
if ($ordered.Count -gt 1) {
|
||||
$suffix = "; ambiguous candidates: $($ordered.Count)"
|
||||
$suffix = "$(Get-UiText 'MoreInline')$($ordered.Count - 1)$(Get-UiText 'MoreInlineSuffix')"
|
||||
}
|
||||
[void]$lines.Add("$name x$($hit.Count) -> $primary$suffix")
|
||||
|
||||
@ -530,7 +543,7 @@ function New-SummaryText {
|
||||
[void]$lines.Add(" - $(Format-Candidate $candidate)")
|
||||
}
|
||||
if ($ordered.Count -gt 6) {
|
||||
[void]$lines.Add(" - ... $($ordered.Count - 6) more")
|
||||
[void]$lines.Add("$(Get-UiText 'MoreLinePrefix')$($ordered.Count - 6)$(Get-UiText 'MoreLineSuffix')")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -662,6 +675,78 @@ function Convert-ObfuscatedText {
|
||||
}
|
||||
}
|
||||
|
||||
function Get-UiText {
|
||||
param([string]$Key)
|
||||
|
||||
if ($null -eq $script:OpsDecoderUiText) {
|
||||
$script:OpsDecoderUiText = New-StringHashtable
|
||||
$script:OpsDecoderUiText['Mapping'] = '5pig5bCE'
|
||||
$script:OpsDecoderUiText['Browse'] = '6YCJ5oup'
|
||||
$script:OpsDecoderUiText['Reload'] = '6YeN6L29'
|
||||
$script:OpsDecoderUiText['Annotate'] = '5L+d55WZ5re35reG5ZCNICsg5rOo6YeK'
|
||||
$script:OpsDecoderUiText['Replace'] = '55u05o6l5pu/5o2i5oiQ5Y6f5ZCN'
|
||||
$script:OpsDecoderUiText['AggressiveShort'] = '5r+A6L+b55+t5ZCN6L2s5o2i'
|
||||
$script:OpsDecoderUiText['Convert'] = '6L2s5o2i'
|
||||
$script:OpsDecoderUiText['InputGroup'] = '6L6T5YWl77ya5ZCO5Y+w5byC5bi45raI5oGvIC8g5aCG5qCI'
|
||||
$script:OpsDecoderUiText['OutputGroup'] = '6L6T5Ye677ya5Y+N5re35reG57uT5p6c'
|
||||
$script:OpsDecoderUiText['Paste'] = '5LuO5Ymq6LS05p2/57KY6LS0'
|
||||
$script:OpsDecoderUiText['Copy'] = '5aSN5Yi257uT5p6c'
|
||||
$script:OpsDecoderUiText['Save'] = '5L+d5a2Y57uT5p6c'
|
||||
$script:OpsDecoderUiText['Clear'] = '5riF56m6'
|
||||
$script:OpsDecoderUiText['Sample'] = '5aGr5YWl56S65L6L'
|
||||
$script:OpsDecoderUiText['Ready'] = '5bCx57uq'
|
||||
$script:OpsDecoderUiText['Loading'] = '5q2j5Zyo6K+75Y+W5pig5bCELi4u'
|
||||
$script:OpsDecoderUiText['LoadedPrefix'] = '5pig5bCE5bey5Yqg6L2977ya'
|
||||
$script:OpsDecoderUiText['LoadFailedPrefix'] = '5pig5bCE5Yqg6L295aSx6LSl77ya'
|
||||
$script:OpsDecoderUiText['DonePrefix'] = '6L2s5o2i5a6M5oiQ77ya5ZG95LitIA=='
|
||||
$script:OpsDecoderUiText['DoneMiddle'] = 'IOWkhO+8jOWUr+S4gOWQjeensCA='
|
||||
$script:OpsDecoderUiText['DoneSuffix'] = 'IOS4qg=='
|
||||
$script:OpsDecoderUiText['ConvertFailedPrefix'] = '6L2s5o2i5aSx6LSl77ya'
|
||||
$script:OpsDecoderUiText['SelectMapping'] = '6YCJ5oupIE9QU0ZpbGUudHh0'
|
||||
$script:OpsDecoderUiText['Copied'] = '57uT5p6c5bey5aSN5Yi25Yiw5Ymq6LS05p2/'
|
||||
$script:OpsDecoderUiText['SaveDecoded'] = '5L+d5a2Y5Y+N5re35reG57uT5p6c'
|
||||
$script:OpsDecoderUiText['SavedPrefix'] = '57uT5p6c5bey5L+d5a2Y77ya'
|
||||
$script:OpsDecoderUiText['Cleared'] = '5bey5riF56m6'
|
||||
$script:OpsDecoderUiText['SampleText'] = '5byC5bi45raI5oGvIGZ1OiDmiL/kuLvlub/mkq3lpLHotKUK5byC5bi45raI5oGvIGJsdTog5Y+R6YCB57uZ5oi/5Li75aSx6LSlCmF0IGduLmJsdShSdW50aW1lRGF0YS5NYXBEYXRhLCBSdW50aW1lRGF0YS5QbGF5ZXJEYXRhKQ=='
|
||||
$script:OpsDecoderUiText['SummaryTitle'] = 'LS0tLSBPUFMg5Y+N5re35reG5pGY6KaBIC0tLS0='
|
||||
$script:OpsDecoderUiText['VersionLabel'] = '54mI5pys'
|
||||
$script:OpsDecoderUiText['HitsLabel'] = '5ZG95Lit'
|
||||
$script:OpsDecoderUiText['UniqueLabel'] = '5ZSv5LiA5ZCN56ew'
|
||||
$script:OpsDecoderUiText['NoMatches'] = '5rKh5pyJ5Yy56YWN5Yiw5re35reG5ZCN56ew44CC'
|
||||
$script:OpsDecoderUiText['Unknown'] = '5pyq55+l'
|
||||
$script:OpsDecoderUiText['MoreInline'] = '77yb5Y+m5pyJIA=='
|
||||
$script:OpsDecoderUiText['MoreInlineSuffix'] = 'IOS4quWAmemAiQ=='
|
||||
$script:OpsDecoderUiText['MoreLinePrefix'] = 'ICAtIC4uLiDlj6bmnIkg'
|
||||
$script:OpsDecoderUiText['MoreLineSuffix'] = 'IOS4qg=='
|
||||
$script:OpsDecoderUiText['SectionNamespace'] = '5ZG95ZCN56m66Ze0'
|
||||
$script:OpsDecoderUiText['SectionType'] = '57G75Z6L'
|
||||
$script:OpsDecoderUiText['SectionMethod'] = '5pa55rOV'
|
||||
$script:OpsDecoderUiText['SectionField'] = '5a2X5q61'
|
||||
$script:OpsDecoderUiText['SectionProperty'] = '5bGe5oCn'
|
||||
$script:OpsDecoderUiText['SectionEvent'] = '5LqL5Lu2'
|
||||
}
|
||||
|
||||
if (-not $script:OpsDecoderUiText.ContainsKey($Key)) {
|
||||
return $Key
|
||||
}
|
||||
|
||||
return [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String([string]$script:OpsDecoderUiText[$Key]))
|
||||
}
|
||||
|
||||
function Get-SectionDisplayName {
|
||||
param([string]$Section)
|
||||
|
||||
switch ($Section) {
|
||||
'Namespace' { return Get-UiText 'SectionNamespace' }
|
||||
'Type' { return Get-UiText 'SectionType' }
|
||||
'Method' { return Get-UiText 'SectionMethod' }
|
||||
'Field' { return Get-UiText 'SectionField' }
|
||||
'Property' { return Get-UiText 'SectionProperty' }
|
||||
'Event' { return Get-UiText 'SectionEvent' }
|
||||
default { return $Section }
|
||||
}
|
||||
}
|
||||
|
||||
function Show-DecoderGui {
|
||||
param([string]$InitialMappingPath)
|
||||
|
||||
@ -703,7 +788,7 @@ function Show-DecoderGui {
|
||||
$main.Controls.Add($topPanel, 0, 0)
|
||||
|
||||
$mappingLabel = New-Object System.Windows.Forms.Label
|
||||
$mappingLabel.Text = 'Mapping'
|
||||
$mappingLabel.Text = Get-UiText 'Mapping'
|
||||
$mappingLabel.TextAlign = 'MiddleRight'
|
||||
$mappingLabel.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($mappingLabel, 0, 0)
|
||||
@ -715,31 +800,31 @@ function Show-DecoderGui {
|
||||
$topPanel.Controls.Add($mappingTextBox, 1, 0)
|
||||
|
||||
$browseButton = New-Object System.Windows.Forms.Button
|
||||
$browseButton.Text = 'Browse'
|
||||
$browseButton.Text = Get-UiText 'Browse'
|
||||
$browseButton.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($browseButton, 2, 0)
|
||||
|
||||
$reloadButton = New-Object System.Windows.Forms.Button
|
||||
$reloadButton.Text = 'Reload'
|
||||
$reloadButton.Text = Get-UiText 'Reload'
|
||||
$reloadButton.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($reloadButton, 3, 0)
|
||||
|
||||
$modeBox = New-Object System.Windows.Forms.ComboBox
|
||||
$modeBox.DropDownStyle = 'DropDownList'
|
||||
[void]$modeBox.Items.Add('Annotate')
|
||||
[void]$modeBox.Items.Add('Replace')
|
||||
[void]$modeBox.Items.Add((Get-UiText 'Annotate'))
|
||||
[void]$modeBox.Items.Add((Get-UiText 'Replace'))
|
||||
$modeBox.SelectedIndex = 0
|
||||
$modeBox.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($modeBox, 4, 0)
|
||||
|
||||
$oneCharCheckBox = New-Object System.Windows.Forms.CheckBox
|
||||
$oneCharCheckBox.Text = 'Aggressive short names'
|
||||
$oneCharCheckBox.Text = Get-UiText 'AggressiveShort'
|
||||
$oneCharCheckBox.Checked = $false
|
||||
$oneCharCheckBox.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($oneCharCheckBox, 5, 0)
|
||||
|
||||
$convertButtonTop = New-Object System.Windows.Forms.Button
|
||||
$convertButtonTop.Text = 'Convert'
|
||||
$convertButtonTop.Text = Get-UiText 'Convert'
|
||||
$convertButtonTop.Dock = 'Fill'
|
||||
$topPanel.Controls.Add($convertButtonTop, 6, 0)
|
||||
|
||||
@ -750,7 +835,7 @@ function Show-DecoderGui {
|
||||
$main.Controls.Add($split, 0, 1)
|
||||
|
||||
$inputGroup = New-Object System.Windows.Forms.GroupBox
|
||||
$inputGroup.Text = 'Input: exception message / stack trace'
|
||||
$inputGroup.Text = Get-UiText 'InputGroup'
|
||||
$inputGroup.Dock = 'Fill'
|
||||
$split.Panel1.Controls.Add($inputGroup)
|
||||
|
||||
@ -765,7 +850,7 @@ function Show-DecoderGui {
|
||||
$inputGroup.Controls.Add($inputTextBox)
|
||||
|
||||
$outputGroup = New-Object System.Windows.Forms.GroupBox
|
||||
$outputGroup.Text = 'Output: decoded result'
|
||||
$outputGroup.Text = Get-UiText 'OutputGroup'
|
||||
$outputGroup.Dock = 'Fill'
|
||||
$split.Panel2.Controls.Add($outputGroup)
|
||||
|
||||
@ -787,37 +872,37 @@ function Show-DecoderGui {
|
||||
$main.Controls.Add($buttonPanel, 0, 2)
|
||||
|
||||
$pasteButton = New-Object System.Windows.Forms.Button
|
||||
$pasteButton.Text = 'Paste'
|
||||
$pasteButton.Text = Get-UiText 'Paste'
|
||||
$pasteButton.Width = 118
|
||||
$buttonPanel.Controls.Add($pasteButton)
|
||||
|
||||
$convertButton = New-Object System.Windows.Forms.Button
|
||||
$convertButton.Text = 'Convert'
|
||||
$convertButton.Text = Get-UiText 'Convert'
|
||||
$convertButton.Width = 86
|
||||
$buttonPanel.Controls.Add($convertButton)
|
||||
|
||||
$copyButton = New-Object System.Windows.Forms.Button
|
||||
$copyButton.Text = 'Copy'
|
||||
$copyButton.Text = Get-UiText 'Copy'
|
||||
$copyButton.Width = 92
|
||||
$buttonPanel.Controls.Add($copyButton)
|
||||
|
||||
$saveButton = New-Object System.Windows.Forms.Button
|
||||
$saveButton.Text = 'Save'
|
||||
$saveButton.Text = Get-UiText 'Save'
|
||||
$saveButton.Width = 92
|
||||
$buttonPanel.Controls.Add($saveButton)
|
||||
|
||||
$clearButton = New-Object System.Windows.Forms.Button
|
||||
$clearButton.Text = 'Clear'
|
||||
$clearButton.Text = Get-UiText 'Clear'
|
||||
$clearButton.Width = 74
|
||||
$buttonPanel.Controls.Add($clearButton)
|
||||
|
||||
$sampleButton = New-Object System.Windows.Forms.Button
|
||||
$sampleButton.Text = 'Sample'
|
||||
$sampleButton.Text = Get-UiText 'Sample'
|
||||
$sampleButton.Width = 92
|
||||
$buttonPanel.Controls.Add($sampleButton)
|
||||
|
||||
$statusLabel = New-Object System.Windows.Forms.Label
|
||||
$statusLabel.Text = 'Ready'
|
||||
$statusLabel.Text = Get-UiText 'Ready'
|
||||
$statusLabel.Dock = 'Fill'
|
||||
$statusLabel.TextAlign = 'MiddleLeft'
|
||||
$statusLabel.Padding = New-Object System.Windows.Forms.Padding(8, 0, 8, 0)
|
||||
@ -830,15 +915,15 @@ function Show-DecoderGui {
|
||||
$loadMapping = {
|
||||
try {
|
||||
$form.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
|
||||
$statusLabel.Text = 'Loading mapping...'
|
||||
$statusLabel.Text = Get-UiText 'Loading'
|
||||
$form.Refresh()
|
||||
$state.Index = New-DecoderIndex -Path $mappingTextBox.Text
|
||||
$counts = $state.Index.SectionCounts
|
||||
$statusLabel.Text = "Mapping loaded: Type $($counts.Type), Method $($counts.Method), Field $($counts.Field), Property $($counts.Property), Event $($counts.Event)"
|
||||
$statusLabel.Text = "$(Get-UiText 'LoadedPrefix')Type $($counts.Type), Method $($counts.Method), Field $($counts.Field), Property $($counts.Property), Event $($counts.Event)"
|
||||
}
|
||||
catch {
|
||||
$state.Index = $null
|
||||
$statusLabel.Text = "Failed to load mapping: $($_.Exception.Message)"
|
||||
$statusLabel.Text = "$(Get-UiText 'LoadFailedPrefix')$($_.Exception.Message)"
|
||||
[System.Windows.Forms.MessageBox]::Show($form, $_.Exception.Message, 'OPS Exception Decoder', 'OK', 'Error') | Out-Null
|
||||
}
|
||||
finally {
|
||||
@ -859,10 +944,10 @@ function Show-DecoderGui {
|
||||
$selectedMode = if ($modeBox.SelectedIndex -eq 1) { 'Replace' } else { 'Annotate' }
|
||||
$result = Convert-ObfuscatedText -SourceText $inputTextBox.Text -Index $state.Index -Mode $selectedMode -IncludeOneCharNames:$oneCharCheckBox.Checked -AppendSummary
|
||||
$outputTextBox.Text = $result.FullText
|
||||
$statusLabel.Text = "Done: $($result.ReplacementCount) hits, $($result.UniqueHitCount) unique names"
|
||||
$statusLabel.Text = "$(Get-UiText 'DonePrefix')$($result.ReplacementCount)$(Get-UiText 'DoneMiddle')$($result.UniqueHitCount)$(Get-UiText 'DoneSuffix')"
|
||||
}
|
||||
catch {
|
||||
$statusLabel.Text = "Convert failed: $($_.Exception.Message)"
|
||||
$statusLabel.Text = "$(Get-UiText 'ConvertFailedPrefix')$($_.Exception.Message)"
|
||||
[System.Windows.Forms.MessageBox]::Show($form, $_.Exception.Message, 'OPS Exception Decoder', 'OK', 'Error') | Out-Null
|
||||
}
|
||||
finally {
|
||||
@ -872,7 +957,7 @@ function Show-DecoderGui {
|
||||
|
||||
$browseButton.Add_Click({
|
||||
$dialog = New-Object System.Windows.Forms.OpenFileDialog
|
||||
$dialog.Title = 'Select OPSFile.txt'
|
||||
$dialog.Title = Get-UiText 'SelectMapping'
|
||||
$dialog.Filter = 'OPS mapping (*.txt;*.json)|*.txt;*.json|All files (*.*)|*.*'
|
||||
if (Test-Path -LiteralPath $mappingTextBox.Text) {
|
||||
$dialog.InitialDirectory = Split-Path -Parent (Resolve-Path -LiteralPath $mappingTextBox.Text).Path
|
||||
@ -897,29 +982,29 @@ function Show-DecoderGui {
|
||||
$copyButton.Add_Click({
|
||||
if (-not [string]::IsNullOrEmpty($outputTextBox.Text)) {
|
||||
[System.Windows.Forms.Clipboard]::SetText($outputTextBox.Text)
|
||||
$statusLabel.Text = 'Copied to clipboard'
|
||||
$statusLabel.Text = Get-UiText 'Copied'
|
||||
}
|
||||
})
|
||||
|
||||
$saveButton.Add_Click({
|
||||
$dialog = New-Object System.Windows.Forms.SaveFileDialog
|
||||
$dialog.Title = 'Save decoded result'
|
||||
$dialog.Title = Get-UiText 'SaveDecoded'
|
||||
$dialog.Filter = 'Text file (*.txt)|*.txt|All files (*.*)|*.*'
|
||||
$dialog.FileName = 'decoded_exception.txt'
|
||||
if ($dialog.ShowDialog($form) -eq 'OK') {
|
||||
[System.IO.File]::WriteAllText($dialog.FileName, $outputTextBox.Text, [System.Text.Encoding]::UTF8)
|
||||
$statusLabel.Text = "Saved: $($dialog.FileName)"
|
||||
$statusLabel.Text = "$(Get-UiText 'SavedPrefix')$($dialog.FileName)"
|
||||
}
|
||||
})
|
||||
|
||||
$clearButton.Add_Click({
|
||||
$inputTextBox.Clear()
|
||||
$outputTextBox.Clear()
|
||||
$statusLabel.Text = 'Cleared'
|
||||
$statusLabel.Text = Get-UiText 'Cleared'
|
||||
})
|
||||
|
||||
$sampleButton.Add_Click({
|
||||
$inputTextBox.Text = "error fu: host broadcast failed" + [Environment]::NewLine + "error blu: send to host failed" + [Environment]::NewLine + "at gn.blu(RuntimeData.MapData, RuntimeData.PlayerData)"
|
||||
$inputTextBox.Text = (Get-UiText 'SampleText')
|
||||
})
|
||||
|
||||
$form.Add_Shown({ & $loadMapping })
|
||||
|
||||
@ -23,6 +23,16 @@ blu [Method: Logic.PlayerLogic.StartNextTurn(RuntimeData.MapData,RuntimeData.Pla
|
||||
|
||||
## 命令行
|
||||
|
||||
推荐给 Codex/命令行排查用的快捷入口:
|
||||
|
||||
```powershell
|
||||
pwsh -NoProfile -ExecutionPolicy Bypass -File Tools\DecodeOnlineError.ps1 -Text "异常消息 fu: 房主广播失败"
|
||||
```
|
||||
|
||||
中文日志建议用 `-Text` 或 `-InputPath`,可以避开不同终端之间的管道编码问题。
|
||||
|
||||
原始工具入口:
|
||||
|
||||
```powershell
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Tools\ObfuscatedExceptionDecoder.ps1 -NoGui -Text "异常消息 fu: 房主广播失败"
|
||||
```
|
||||
|
||||
@ -152,6 +152,9 @@ namespace RuntimeData
|
||||
|
||||
// 随机数种子 开始游戏时由房主进行初始化,整局游戏不可变
|
||||
public int RandomSeed;
|
||||
// 同步随机源的消费次数,用于 ForceUpdate/重连后恢复随机游标
|
||||
public int RandomUseCount;
|
||||
[MemoryPackIgnore]
|
||||
private System.Random _random;
|
||||
private static readonly ArrayBufferWriter<byte> _bufferWriter = new ArrayBufferWriter<byte>(64 * 1024);
|
||||
|
||||
@ -171,6 +174,7 @@ namespace RuntimeData
|
||||
Actions = new List<ActionNetData>();
|
||||
// 生成确定性种子(由房主生成并广播)
|
||||
RandomSeed = System.Environment.TickCount;
|
||||
RandomUseCount = 0;
|
||||
GameStartTime = 0;
|
||||
PlayerStartTime = 0;
|
||||
}
|
||||
@ -181,6 +185,7 @@ namespace RuntimeData
|
||||
Mode = copyData.Mode;
|
||||
CurPlayerId = copyData.CurPlayerId;
|
||||
RandomSeed = copyData.RandomSeed;
|
||||
RandomUseCount = copyData.RandomUseCount;
|
||||
Players = new Dictionary<ulong, uint>();
|
||||
Actions = new List<ActionNetData>();
|
||||
}
|
||||
@ -191,6 +196,8 @@ namespace RuntimeData
|
||||
Mode = copyData.Mode;
|
||||
CurPlayerId = copyData.CurPlayerId;
|
||||
RandomSeed = copyData.RandomSeed;
|
||||
RandomUseCount = copyData.RandomUseCount;
|
||||
_random = null;
|
||||
Players = new Dictionary<ulong, uint>();
|
||||
Actions = new List<ActionNetData>();
|
||||
}
|
||||
@ -198,11 +205,72 @@ namespace RuntimeData
|
||||
// 只有 Action 的逻辑可以使用这个 Random, 因为要保证计数一致
|
||||
public System.Random GetRandom(MapData map)
|
||||
{
|
||||
if (map != Main.MapData) return new System.Random(RandomSeed);
|
||||
if (_random == null) _random = new System.Random(RandomSeed);
|
||||
if (map != Main.MapData) return CreateRandom(RandomUseCount, null);
|
||||
if (_random == null) _random = CreateRandom(RandomUseCount, () => RandomUseCount++);
|
||||
return _random;
|
||||
}
|
||||
|
||||
private System.Random CreateRandom(int useCount, System.Action onUse)
|
||||
{
|
||||
var random = new CountingRandom(RandomSeed, onUse);
|
||||
random.Advance(useCount);
|
||||
return random;
|
||||
}
|
||||
|
||||
private sealed class CountingRandom : System.Random
|
||||
{
|
||||
private readonly System.Action _onUse;
|
||||
private bool _advancing;
|
||||
|
||||
public CountingRandom(int seed, System.Action onUse) : base(seed)
|
||||
{
|
||||
_onUse = onUse;
|
||||
}
|
||||
|
||||
public void Advance(int count)
|
||||
{
|
||||
if (count <= 0) return;
|
||||
_advancing = true;
|
||||
for (var i = 0; i < count; i++) base.Next();
|
||||
_advancing = false;
|
||||
}
|
||||
|
||||
private void CountUse()
|
||||
{
|
||||
if (!_advancing) _onUse?.Invoke();
|
||||
}
|
||||
|
||||
public override int Next()
|
||||
{
|
||||
CountUse();
|
||||
return base.Next();
|
||||
}
|
||||
|
||||
public override int Next(int maxValue)
|
||||
{
|
||||
CountUse();
|
||||
return base.Next(maxValue);
|
||||
}
|
||||
|
||||
public override int Next(int minValue, int maxValue)
|
||||
{
|
||||
CountUse();
|
||||
return base.Next(minValue, maxValue);
|
||||
}
|
||||
|
||||
public override double NextDouble()
|
||||
{
|
||||
CountUse();
|
||||
return base.NextDouble();
|
||||
}
|
||||
|
||||
public override void NextBytes(byte[] buffer)
|
||||
{
|
||||
CountUse();
|
||||
base.NextBytes(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
public bool RefreshPlayerNet(MapData mapData)
|
||||
{
|
||||
if (Mode != NetMode.Multi) return true;
|
||||
@ -327,6 +395,7 @@ namespace RuntimeData
|
||||
// 使用序列化比较各个组件
|
||||
MapData.CompareComponent(Mode, net.Mode, "Mode", differences);
|
||||
MapData.CompareComponent(CurPlayerId, net.CurPlayerId, "CurPlayerId", differences);
|
||||
MapData.CompareComponent(RandomUseCount, net.RandomUseCount, "RandomUseCount", differences);
|
||||
MapData.CompareComponent(Players, net.Players, "Players", differences);
|
||||
MapData.CompareComponent(Actions, net.Actions, "Actions", differences);
|
||||
|
||||
@ -344,6 +413,8 @@ namespace RuntimeData
|
||||
Actions.Clear();
|
||||
// 生成确定性种子(由房主生成并广播)
|
||||
RandomSeed = System.Environment.TickCount;
|
||||
RandomUseCount = 0;
|
||||
_random = null;
|
||||
GameStartTime = 0;
|
||||
PlayerStartTime = 0;
|
||||
}
|
||||
|
||||
@ -107,16 +107,16 @@ namespace TH1_Logic.Steam
|
||||
|
||||
if (!LobbyManager.Instance.Lobby.IsLobbyOwner()) return;
|
||||
if (message.ActionData == null) return;
|
||||
// if (message.ActionData.MapHash != Main.MapData.Net.MapHash)
|
||||
// {
|
||||
// LogSystem.LogError($"OnReceivedActionConfirm MapHash不一致");
|
||||
// return;
|
||||
// }
|
||||
if (message.ActionData.Version != Main.MapData.Net.GetActionVersion())
|
||||
{
|
||||
LogSystem.LogError($"OnReceivedActionConfirm Version 不一致");
|
||||
return;
|
||||
}
|
||||
if (NetData.GetMapDataHash(Main.MapData) != message.ActionData.MapHash)
|
||||
{
|
||||
LogSystem.LogError($"OnReceivedActionConfirm MapHash 不一致,拒绝执行");
|
||||
return;
|
||||
}
|
||||
|
||||
message.ActionData.Param.MapData = Main.MapData;
|
||||
message.ActionData.Param.RefreshParams();
|
||||
@ -148,12 +148,6 @@ namespace TH1_Logic.Steam
|
||||
}
|
||||
if (LobbyManager.Instance.Lobby.IsLobbyOwner()) return;
|
||||
if (message.ActionData == null) return;
|
||||
// if (message.ActionData.MapHash != Main.MapData.Net.MapHash)
|
||||
// {
|
||||
// LogSystem.LogError($"OnReceivedActionConfirm MapHash不一致");
|
||||
// return;
|
||||
// }
|
||||
|
||||
if (Main.MapData == null) return;
|
||||
// 这里感觉可以不用了,游戏内心跳包会校验这种情况,先放着
|
||||
if (message.ActionData.Version > Main.MapData.Net.GetActionVersion())
|
||||
@ -165,7 +159,9 @@ namespace TH1_Logic.Steam
|
||||
|
||||
if (NetData.GetMapDataHash(Main.MapData) != message.ActionData.MapHash)
|
||||
{
|
||||
Main.MapData.FindDifferences(message.Map);
|
||||
LogSystem.LogError($"OnReceivedActionExcute MapHash 不一致,拒绝执行");
|
||||
if (message.Map != null) Main.MapData.FindDifferences(message.Map);
|
||||
return;
|
||||
}
|
||||
|
||||
message.ActionData.Param.MapData = Main.MapData;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user