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, Руперт.