You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Avalonia应用微软商店内购报错0x803F6107求助

解决Avalonia微软商店内购0x803F6107错误及订阅查询问题

核心错误:附加组件类型参数传错

你调用GetAssociatedStoreProductsAsync时传入的是"Durable",但订阅类附加组件对应的类型是"Subscription",这会导致商店无法匹配到你的订阅产品,直接返回错误。修改代码如下:

public async Task<IEnumerable<StoreProduct>> GetSubscriptionProductsAsync()
{
    StoreProductQueryResult result =
        await _context.GetAssociatedStoreProductsAsync(new string[] { "Subscription" });

    if (result.ExtendedError != null)
    {
        System.Diagnostics.Debug.WriteLine("获取附加组件出错: " + result.ExtendedError);
        return null;
    }

    return result.Products.Values;
}

其他排查修复步骤

  • 确认StoreContext初始化时机:确保在窗口完全加载后再获取窗口Handle并初始化StoreContext,避免Handle无效。比如可以在Avalonia窗口的Loaded事件中执行初始化逻辑,而非应用启动初期。
  • 检查调试配置:
    • 确保打包项目是启动项目,右键打包项目→属性→调试,确认"启动应用"选项为"是"。
    • 调试前必须先部署打包项目,且调试时运行的是打包后的商店应用,而非直接启动Avalonia项目。
  • 验证商店关联一致性:检查打包项目的Package.appxmanifest中的发布者和包系列名称是否与微软商店后台完全一致,若有不一致,重新关联打包项目与商店。
  • 清除商店缓存:按下Win+R输入wsreset.exe,清空Windows商店缓存,完成后重启电脑再尝试调试。
  • 账户与许可证验证:
    • 确保调试时Windows登录的账户是与商店关联的开发者账户。
    • 若之前下载过商店版本,确认已登录该账户并运行过一次,确保本地已获取到基础许可证。
  • 排查AddOnLicenses为空问题:修改CheckIfUserHasSubscriptionAsync时,先添加日志输出appLicense.IsActive确认应用本身的许可证状态。若应用许可证无效,说明商店上下文未正确建立,需优先解决0x803F6107错误。

内容的提问来源于stack exchange,提问作者renrutsirhc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 03:07:31