babalae/better-genshin-impact · error · InvalidOperationException

不支持的战斗策略文件类型:{strategyPath}

Error message

不支持的战斗策略文件类型:{strategyPath}

What it means

Error "不支持的战斗策略文件类型:{strategyPath}" thrown in babalae/better-genshin-impact.

Source

Thrown at BetterGenshinImpact/GameTask/AutoFight/Factory/CombatTaskFactoryProvider.cs:42

    /// <param name="factory">战斗任务工厂实例</param>
    public static void RegisterFactory(ICombatTaskFactory factory)
    {
        _factories.Add(factory);
    }

    /// <summary>
    /// 根据策略文件路径获取对应的工厂
    /// </summary>
    /// <param name="strategyPath">策略文件路径</param>
    /// <returns>匹配的战斗任务工厂</returns>
    /// <exception cref="InvalidOperationException">不支持的文件类型</exception>
    public static ICombatTaskFactory GetFactory(string strategyPath)
    {
        strategyPath ??= string.Empty;
        var factory = _factories.FirstOrDefault(f => f.CanHandle(strategyPath));
        if (factory == null)
        {
            throw new System.InvalidOperationException($"不支持的战斗策略文件类型:{strategyPath}");
        }
        return factory;
    }
}

View on GitHub (pinned to a7cb36712d)

Solutions

  1. 确认策略文件扩展名为 .txt 或 .json
  2. 为当前任务类型选择对应支持的策略文件格式
  3. 检查文件路径是否指向了错误的文件

Example fix

确认策略文件为该任务支持的类型(如自动战斗用txt/json策略),路径与扩展名正确。

When it happens

Trigger: CombatTaskFactoryProvider.GetFactory 遍历已注册工厂,没有任何工厂的 CanHandle 接受该 strategyPath(扩展名不匹配)时抛出。

Common situations: 给任务传入了不支持的策略文件类型,例如把非txt/非json的文件或其他路径作为战斗策略。


AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13). Data as JSON: /api/errors/145123077d3fa370. Report an issue: GitHub.