0

マーケットプレイステストキットを実行しようとしましたが、Microsoft.Advertising.Mobile.dllが行おうとしていた一連の呼び出しで、機能の検証に失敗しました。これは理解できますが、BackgroundAgentからAdControlを更新しようとしているわけではありません。私が考えることができる最も近いものはこれにあります:

 public ScheduledAgent()
    {
        if (!_classInitialized)
        {
            _classInitialized = true;
            // Subscribe to the managed exception handler
            Deployment.Current.Dispatcher.BeginInvoke(delegate
            {
                Application.Current.UnhandledException += ScheduledAgent_UnhandledException;
            });
        }
    }

Application.Currentは、広告コントロールを使用しようとしているものを呼び出していますか?もしそうなら、どうすればそれを防ぐことができますか?

編集:エラーメッセージの1つの出力は次のとおりです。

 Unsupported API cannot be used by a background agent. Assembly Microsoft.Advertising.Mobile.dll was trying to use Microsoft.Phone.Tasks.PhoneCallTask::.ctor.
4

1 に答える 1

0

さて、それはコードサンプルとはまったく関係がありませんでした。問題は、作成したWindowsPhoneライブラリを介して広告コントロールを生成していたことです。このライブラリのモデルはバックグラウンドエージェントによって使用されていたため、テストキットはアプリケーションが何らかの形で広告ロジックを使用していると信じ込ませたようです。

Ads.csを削除し、Ads.csが実行していたことをページ自体に移行したところ、問題は解決しました。

編集:バックグラウンドエージェントがAdControlのライブラリを使用していると考えていたのは、Marketplace Test Kitではなく、使用できる機能を備えていたと言った方が安全だと思います。区別する価値があると思います。

于 2012-07-02T18:29:39.240 に答える