Xamarin.forms 更改实时申请和购买的证书

Xamarin.forms 更改实时申请和购买的证书,xamarin.forms,uwp,xamarin.uwp,Xamarin.forms,Uwp,Xamarin.uwp,我在Xamarin UWP商店有一个实时应用程序,我已经实现了试用版和一个工作正常的付费版本。现在我想在我从PCL转换到.Net Standard 2.0后发布应用程序的新更新。当我构建时,我得到证书错误,它要求我输入上传到服务器的证书的密码 它不接受我的密码。我很确定我输入了正确的密码。我不知道原因。所以我的问题是, 证书在许可证信息中起作用吗?我基本上是用下面的代码检查它是否是试用版。如果我创建了一个新的证书,这会对现有的购买产生任何影响吗 我尝试使用本地CurrentAppSimulato

我在Xamarin UWP商店有一个实时应用程序,我已经实现了试用版和一个工作正常的付费版本。现在我想在我从PCL转换到.Net Standard 2.0后发布应用程序的新更新。当我构建时,我得到证书错误,它要求我输入上传到服务器的证书的密码

它不接受我的密码。我很确定我输入了正确的密码。我不知道原因。所以我的问题是,

  • 证书在许可证信息中起作用吗?我基本上是用下面的代码检查它是否是试用版。如果我创建了一个新的证书,这会对现有的购买产生任何影响吗

  • 我尝试使用本地CurrentAppSimulator使用新证书,所有工作正常,但尽管我与store app关联,但使用CurrentApp时出现异常,如下所示。是因为我使用的证书与商店中的不同吗?因此,如果我提供一个新的提交和一个新的证书,问题将得到解决

  • System.Exception来自HRESULT的异常:0x803F6107原始at Windows.ApplicationModel.Store.CurrentApp.get_LicenseInformation()

    现在我想在我从PCL转换到.Net Standard 2.0后发布应用程序的新更新

    如果切换到最新的.NET标准2.0,则最好使用与命名空间相关的API。文件解释得很清楚

    Windows.ApplicationModel.Store命名空间不再使用新功能进行更新。如果您的项目针对的是Windows 10周年纪念版(10.0;Build 14393)或Visual Studio中的更高版本(即,您针对的是Windows 10、版本1607或更高版本),建议您改用Windows.Services.Store命名空间。有关更多信息,请参阅应用内购买和试用。使用桌面网桥的Windows桌面应用程序或使用开发中心开发沙盒的应用程序或游戏不支持Windows.ApplicationModel.Store命名空间(例如,与Xbox Live集成的任何游戏都不支持此命名空间)。这些产品必须使用Windows.Services.Store命名空间来实现应用内购买和试用


    我看到了这一点,但我认为这只是一个建议,不是必须的。因为我并没有真正进行任何应用内购买。这只是检查许可证信息,并将用户重定向到商店购买完整版本(如果是试用版)。如果我不需要新功能和desktrop桥。根据文档,应该还可以。此外,我不知道如何在本地使用AppSimulator、windowsstoreproxy.xml来测试code@batmaci
    Windows.Services.Store
    命名空间中没有
    AppSimulator
    。有关详细信息,请参阅。因此,在将应用发布到应用商店之前,您无法对其进行测试。事实上,这和Google play商店是一样的,但问题和区别在于,如果我发布Android应用程序,如果出现任何问题,我可以立即重新发布到Google play。微软商店是完全痛苦的,我发布了一个新的提交2天前,它仍然在过程中。我无法想象在上线后测试IAP后立即重新提交新的更新。这非常痛苦,因此开发人员不愿意开发UWP。
     #if !DEBUG
     licenseInformation = CurrentApp.LicenseInformation;
      #else
     licenseInformation = CurrentAppSimulator.LicenseInformation;
      #endif
      licenseInformation.LicenseChanged +=LicenseInformation_LicenseChanged;
     if (licenseInformation.IsActive)
       {
      if (licenseInformation.IsTrial)
        {