Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone应用内购买错误_C#_Windows Phone 7_Windows Phone 8_In App Purchase - Fatal编程技术网

C# Windows Phone应用内购买错误

C# Windows Phone应用内购买错误,c#,windows-phone-7,windows-phone-8,in-app-purchase,C#,Windows Phone 7,Windows Phone 8,In App Purchase,我需要将存储功能添加到我的Windows Phone 7项目条件中,以确定用户是否支持WP8并在应用程序中启用了他,如果没有,请告诉他 我是这样使用它的: if (Environment.OSVersion.Version.Major >= 8) { _store = StoreLauncher.GetStoreInterface("InAppPurchaseWrapper.Store, InAppPurchaseWrapper, V

我需要将存储功能添加到我的Windows Phone 7项目条件中,以确定用户是否支持WP8并在应用程序中启用了他,如果没有,请告诉他

我是这样使用它的:

        if (Environment.OSVersion.Version.Major >= 8)
        {
            _store = StoreLauncher.GetStoreInterface("InAppPurchaseWrapper.Store, InAppPurchaseWrapper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
        }

        if (_store != null)
        {
            var productListAsync = _store.LoadListingInformationAsync();
            productListAsync.Completed = (async, status) =>
                {
                    var listingInformation = async.GetResults();
                    var removeAdItem = listingInformation.ProductListings[Constants.RemoveAddKey];

                    PurchaseItem(removeAdItem.ProductId, Result);
                };
        }
        else
        {
            MessageBox.Show(AppResources.remove_ads_notworking);
        }

    public void PurchaseItem(string id, Action<bool> result)
    {
            var purchaseAsync = _store.RequestProductPurchaseAsync(id, false);
            purchaseAsync.Completed = (async, status) =>
            {
                try
                {
                    if (status == StoreAsyncStatus.Completed)
                    {
                        var licenseInfo = _store.LicenseInformation;
                        if (licenseInfo.ProductLicenses[id].IsActive)
                        {
                            MessageBox.Show(AppResources.remove_ad_success);
                            appSettings.IsAdVisible = false;
                        }
                        else
                        {
                            MessageBox.Show(AppResources.remove_ads_something_goes_wrong);
                        }
                    }
                    else
                    {
                        if (status == StoreAsyncStatus.Error)
                        {
                            var forceException = async.GetResults();
                        }
                        result(false);
                    }
                }
                catch (Exception)
                {

                    throw;
                }
            };
       }
if(Environment.OSVersion.Version.Major>=8)
{
_store=StoreLauncher.GetStoreInterface(“InAppPurchaseWrapper.store,InAppPurchaseWrapper,Version=1.0.0,Culture=neutral,PublicKeyToken=null”);
}
如果(_store!=null)
{
var productListAsync=\u store.LoadListingInformation同步();
productListAsync.Completed=(异步,状态)=>
{
var listingInformation=async.GetResults();
var removeditem=listingInformation.ProductListings[Constants.removedKey];
PurchaseItem(removedItem.ProductId,结果);
};
}
其他的
{
MessageBox.Show(AppResources.remove\u ads\u notworking);
}
public void PurchaseItem(字符串id、操作结果)
{
var purchaseAsync=\u store.RequestProductPurchaseAsync(id,false);
purchaseAsync.Completed=(异步,状态)=>
{
尝试
{
如果(状态==StoreAsyncStatus.Completed)
{
var licenseInfo=\u store.LicenseInformation;
if(licenseInfo.ProductLicenses[id].IsActive)
{
MessageBox.Show(AppResources.remove\u ad\u success);
appSettings.IsAdVisible=false;
}
其他的
{
MessageBox.Show(通知资源,删除广告,发现问题);
}
}
其他的
{
if(status==StoreAsyncStatus.Error)
{
var forceException=async.GetResults();
}
结果(假);
}
}
捕获(例外)
{
投掷;
}
};
}
问题是,当我调用RequestProductPurchaseAsync时,我得到:
灾难性故障(来自HRESULT的异常:0x8000FFFF(E_意外))
。但是它起作用了。有一次,我可以在应用程序中购买它,当我下载许可证时,我就可以在那里买到它。但现在不是了。我试图重新启动emulator操作系统,但到目前为止没有任何帮助。有人知道哪里会出问题吗?谢谢

编辑:
我发现,如果我第一次使用相同的ProductId运行某个示例应用程序,并且该应用程序是WP8的目标。然后就没事了,我可以在应用程序中购买。如果我运行原始应用程序(WP7的目标),那么我也可以购买应用程序。那么问题出在哪里呢?是否可以为WP7项目的存储函数使用工作包装器?我应该先将第一个WP8应用程序发送到测试版,然后将其productId用于WP7吗?

WP7不允许在应用程序购买中使用Windows Phone应用商店 您应该实施自己的应用内购买服务