Marketplace Test Kit возвращает "Неподдерживаемый API не может использоваться фоновым агентом"

Во-первых, мое приложение собирается и работает отлично, без исключений.

Когда я запускаю Marketplace Test Kit, включенный в WP7 SDK, я получаю массу предупреждений об использовании неподдерживаемого API.

Теперь рассматриваемый DLL-файл (API) - это место, где живут мои контроллеры, модели, служебные классы и другие ресурсы (все, что напрямую не связано с пользовательским интерфейсом).

Методы, используемые моим фоновым агентом, включают некоторые вызовы службы REST и обновление активной плитки. Однако Marketplace Test Kit жалуется на классы и вызовы методов, которые не вызываются классами фоновых агентов.

Вопрос здесь - пройдет ли он проверку Microsoft? В конце концов, фоновый агент не делает ничего противозаконного (с точки зрения вызовов API), он просто имеет возможность сделать это).

2 ответа

Решение

Это упоминается в книге "Разработка расширенного приложения для Windows Phone 7.5, которая подключается к облаку", опубликованной группой пользователей и практиков.

Этот проект содержит интерфейсы, адаптеры и фасады для функций Windows Phone API, которые не поддерживаются фоновыми агентами. Создание этого проекта было необходимо для того, чтобы пройти проверку возможностей, выполняемую в рамках процесса отправки приложений на Windows Phone Marketplace. Это связано с тем, что набор API, не поддерживаемых фоновыми агентами, должен находиться в проекте, на который не ссылается проект TailSpin.PhoneAgent. Дополнительные сведения см. В разделе " Неподдерживаемые API-интерфейсы для фоновых агентов для Windows Phone" в MSDN.

Таким образом, у вас должен быть проект для библиотек для фонового работника и еще один для библиотек, которые использует ваше приложение.

Я думаю, что очень вероятно, что проверка Marketplace будет неудачной, если набор тестов помечает предупреждения.

Вероятно, лучшим решением было бы разделить рассматриваемую DLL на 2 части, одна из которых содержит все функции фонового агента, но избегает вызовов API, вызывающих проблему, а другая DLL содержит все остальное. В приложении можно использовать обе библиотеки DLL, но только "безопасную" для фонового агента.

Мне нужно было сделать нечто подобное для приложения PayPhone Lite (приложения PayPal), которое в настоящее время находится в MarketPlace.

HTH, Руперт.

Другие вопросы по тегам