babalae/better-genshin-impact · error · FileNotFoundException

找不到 Markdown pack 资源。

Error message

找不到 Markdown pack 资源。

What it means

Error "找不到 Markdown pack 资源。" thrown in babalae/better-genshin-impact.

Source

Thrown at BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs:100

        else if (source.IsFile)
        {
            var fileInfo = new FileInfo(source.LocalPath);
            if (!fileInfo.Exists)
            {
                throw new FileNotFoundException("Markdown 图片不存在。", source.LocalPath);
            }

            if (fileInfo.Length > MaxDownloadBytes)
            {
                throw new InvalidDataException($"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。");
            }

            bytes = await File.ReadAllBytesAsync(fileInfo.FullName, cancellationToken);
        }
        else if (source.Scheme.Equals("pack", StringComparison.OrdinalIgnoreCase))
        {
            var resourceInfo = Application.GetResourceStream(source)
                               ?? throw new FileNotFoundException("找不到 Markdown pack 资源。", source.ToString());
            await using var resourceStream = resourceInfo.Stream;
            bytes = await ReadLimitedAsync(resourceStream, cancellationToken);
        }
        else if (source.Scheme is "http" or "https")
        {
            using var response = await HttpClient.GetAsync(source, HttpCompletionOption.ResponseHeadersRead, cancellationToken);
            response.EnsureSuccessStatusCode();
            if (response.Content.Headers.ContentLength > MaxDownloadBytes)
            {
                throw new InvalidDataException($"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。");
            }

            await using var responseStream = await response.Content.ReadAsStreamAsync(cancellationToken);
            bytes = await ReadLimitedAsync(responseStream, cancellationToken);
        }
        else
        {
            throw new NotSupportedException($"不支持的图片协议:{source.Scheme}");

View on GitHub (pinned to a7cb36712d)

Solutions

  1. 重新安装或更新程序以恢复内置 Markdown 资源包
  2. 检查安装目录中资源文件是否完整
  3. 关闭可能拦截资源的杀毒软件后重试

Example fix

核对 pack URI 路径拼写,确认该资源已作为 Resource 打进程序。

When it happens

Trigger: pack:// 协议图片通过 Application.GetResourceStream 取不到资源流时抛出。

Common situations: Markdown 引用了不存在的 WPF pack 资源路径,或资源未随程序集打包。


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