Не удается развернуть универсальное приложение на телефоне с Windows 10 Mobile Tech Preview

У меня есть разблокированная разработчиком Lumia 635, только вчера обновленная до Windows 10 Mobile Technical Предварительная версия (версия ОС: 10.0.12562.84).

После создания «Пустого приложения (Windows Universal)», ориентированного на Windows Phone 10 в Visual Studio 2015 RC, и попытки развернуть его на устройстве (и именно для этой цели я изменил конфигурацию на ARM) у меня есть эта ошибка:

Ошибка: DEP0001: Непредвиденная ошибка: Не удалось выполнить необходимое условие для установки. (Исключение из HRESULT: 0x80073CFD)

После беглого просмотра «ссылок» на приложения выясняется, что некоторые из них относятся к Application Insights (и некоторым другим), не принимая во внимание тот факт, что я специально ранее отключил интеграцию Application Insights в диалоговое окно создания проекта (сюрприз!). Итак, я удалил их все, оставив только следующее (кажется неустранимым):

  1. Анализы
  2. .NET для приложений Магазина Windows
  3. Универсальная Windows

Но это, к сожалению, не помогло - до сих пор не могу развернуть это приложение "по умолчанию" на телефоне.

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

Рабочая ОС — Windows 8.1 Pro, если это имеет значение.

Обновить

Зачеркнутый текст выше больше не важен, см. принятый ответ.


person Sevenate    schedule 01.05.2015    source источник


Ответы (6)


Я в команде .NET/UWP. Официальный ответ Microsoft здесь:

https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx?f=255&MSPPError=-2147217396

Позвольте мне написать шаги по этой ссылке выше. Эти шаги применимы сегодня (20 мая 2015 г., с использованием версии RC VS2015, выпущенной на BUILD). Развертывание на мобильных устройствах было невозможно до 14 мая, когда вышла правильная сборка Win10 Mobile.

На вашем компьютере должна быть установлена ​​ОС Windows 10 сборки 10074 или более поздней версии, отсюда: https://insider.windows.com/

Установите VS2015 RC отсюда: https://www.visualstudio .com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

  • Во время установки вы можете выбрать, какие компоненты установить. Вы должны выбрать «Инструменты и эмуляторы Windows 10». Установка занимает от одного до нескольких часов.
  • Он установит Windows 10 SDK версии 10069.
  • Есть некоторые глюки с установщиком. Если вы вернетесь к AddRemovePrograms и измените, какие компоненты VS2015 RC установлены, то в конечном итоге будет установлено больше, чем нужно.
  • Когда VS запускается в первый раз, он спрашивает, хотите ли вы войти в систему. Раньше я всегда нажимал «нет», и тогда он задавал мне дополнительные вопросы о конфигурации. Но если я отвечу «да» и войду в систему, то все эти вопросы по настройке будут пропущены, и в итоге работа будет выполняться быстрее. Усвоенный урок: теперь я всегда вхожу в систему.

Вы можете запускать приложения Win10 на эмуляторах. Эмуляторы поставляются с Win10 SDK и работают под управлением операционной системы Win10.Mobile версии 10069.

Вы можете запускать приложения Win10 на локальном компьютере. Для этого ваш локальный компьютер должен быть Win10.Desktop версии 10074 или выше и должен быть разблокирован.

  • Инструкции по разблокировке находятся по адресу https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx. Вот версия "TL;DR":
  • Запустите gpedit.msc > Политика локального компьютера > Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Развертывание пакетов приложений. Затем щелкните правой кнопкой мыши, чтобы включить две вещи:
  • «Разрешить установку всех доверенных приложений»
  • «Разрешить разработку приложений Магазина Windows»

Вы можете запускать приложения Win10 на своем телефоне. Для этого на вашем телефоне должна быть установлена ​​Win10.Mobile версии 10080 или выше (которая вышла 14 мая). Ваш телефон должен быть разблокирован.

  • Инструкции по разблокировке находятся по адресу https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx. Вот версия "TL;DR":
  • Подключите телефон через USB. Запустите инструмент «Регистрация разработчика Windows Phone» со своего рабочего стола.

Ключевым фактом о Win10 является то, что вы можете писать программное обеспечение для одного конкретного SDK (например, SDK 10069, выпущенного на //BUILD), и по-прежнему запускать его на более поздней версии Win10 (например, 10074, актуальной для Win10. Программа для настольных ПК). , или 10080, актуальный для инсайдерской программы Win10.Mobile).

В файле .appxmanifest MinVersion="10.0.10069.0" говорит, что ваше приложение откажется развертываться на любой машине, на которой установлена ​​более ранняя версия Win10.

В файле .appxmanifest MaxVersionTested="10.0.10074.0" говорит, что если ваше приложение развернуто на компьютере с более высокой версией Win10, возможно, ему придется выполнить "причудливую настройку".

Обе эти вещи контролируются диалоговым окном «Проект»> «Свойства» и фактически хранятся в файле .csproj/.vbproj.

Ответы @user4855870, @Rexobias и @Sevenate были хаками. Они использовали искусственно заниженную версию для MinVersion, чтобы обойти тот факт, что они еще не обновили свои устройства. Это справедливый подход (и я сделал это, пока ждал выхода сборки Win10.Mobile 10080). Но теперь, когда он вышел, в этих хаках нет необходимости, и вы должны просто обновить свое устройство.

person Lucian Wischik    schedule 20.05.2015
comment
Окончательный выпуск Windows 10 SDK теперь исключает развертывание на любых телефонах под управлением Windows 10, независимо от того, были ли они разблокированы разработчиком. Будет разрешено развертывание на телефонах с Insider Preview? - person Benjamin Chambers; 02.08.2015
comment
@LucianWischik Это не работает для меня. И мой компьютер с win10, и телефон с win10 находятся в режиме разработчика, мой телефон подключен через USB, но при развертывании я всегда получал это сообщение: DEP0001: непредвиденная ошибка: элемент не найден. (Исключение из HRESULT: 0x80070490) SolutionName Я работал с подлинной Win10, которая была обновлена ​​до Insider Preview. - person NoNameProvided; 06.09.2015

Я обнаружил, что: Обозреватель решений -> Щелкните правой кнопкой мыши проект -> свойства -> отладка -> параметры запуска -> целевое устройство: выберите устройство и сохраните.

Развернуть снова!

Надеюсь это поможет!

person Lê Thành Trung    schedule 06.04.2016
comment
Здорово! Это единственное, что мне помогло :)! - person Pavel Durov; 10.07.2016

В Package.appxmanifest попробуйте изменить TargetDeviceFamily на следующее:

<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.1.0" MaxVersionTested="10.0.1.0" />
person user4855870    schedule 02.05.2015
comment
Это привело к ошибке: Не удалось активировать приложение Магазина Windows «идентификатор приложения». Запрос на активацию завершился неудачно с ошибкой «Подсистема, необходимая для поддержки типа образа, отсутствует». Обратите внимание, что тестовое приложение было создано из шаблона проекта по умолчанию для универсального пустого приложения Windows (для Windows 10) без каких-либо изменений после создания. - person Sevenate; 04.05.2015
comment
Это не нужно. Лучше всего обновить устройство до более новой сборки, чем используемая вами версия 10069 SDK. Кроме того, установка этого значения MaxVersionTested может привести к странному поведению ОС. - person Lucian Wischik; 20.05.2015

Я только что столкнулся с той же проблемой, описанной @Sevenate.

После ответа @user4855870 я наконец-то смог развернуть свое пустое универсальное приложение на Lumia 520 с W10 TP.

1) На телефоне заходим в Настройки, Система, О программе, Подробнее и записываем версию ОС (в моем случае это 10.0.12534.59);

2) В Visual Studio откройте Package.appxmanifest и в той же строке, упомянутой @user4855870, в «MinVersion» напишите «10.0.1.0», а в «MaxVersionTested» напишите версию ОС, которую вы получили со своего телефона.

<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.1.0" MaxVersionTested="10.0.12534.59" />

Мое пустое универсальное приложение работает на компьютере и телефоне как надо ;)

person Rexobias    schedule 05.05.2015
comment
Я тоже пробовал этот способ, но по-прежнему получаю другую ошибку (скриншот) - person Sevenate; 05.05.2015
comment
Это неверно. MaxVersionTested использует совершенно другую последовательность номеров из версии ОС «Настройки»> «Система»> «О программе»> «Дополнительная информация». MaxVersionTested должен быть 10069 (версия установленного SDK). Имеет смысл поставить 10074 (актуальная версия Win10.Desktop на 20 мая). Имеет смысл поставить 10080 (актуальная версия Win10.Phone от 20 мая). - person Lucian Wischik; 20.05.2015

Хорошо, мне наконец удалось развернуть этот образец приложения на Windows Phone 10.

Короткий ответ

В файле Package.appxmanifest вашего проекта измените MinVersion с "10.0.10069.0" на "1.0.22816.1" (неожиданно, а?) следующим образом:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="1.0.22816.1"
                        MaxVersionTested="10.0.10069.0" />
</Dependencies>

Более длинный ответ

После того, как вы создадите проект, только что созданный из нового шаблона «Универсальное пустое приложение Windows 10» в VS2015 RC, исходный Package.appxmanifest, доступный в обозревателе решений в Visual Studio, будет скопирован в YourBlankWin10PhoneProject\bin\x86\Debug\Core\AppxManifest.xml (обратите внимание на >Core в пути) и обновлен с новой зависимостью — пакет .NET Core Runtime:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="10.0.10069.0"
                        MaxVersionTested="10.0.10069.0" />
    <PackageDependency Name="Microsoft.NET.CoreRuntime.1.0"
                       MinVersion="1.0.22816.1"
                       Publisher="CN=Microsoft Corporation, O=Microsoft Corporation,
                       L=Redmond, S=Washington, C=US" />
</Dependencies>

(Не путайте с другой копией оригинальной неизмененной версии манифеста по адресу YourBlankWin10PhoneProject\bin\x86\Debug\AppxManifest.xml)

Как вы можете видеть, MinVersion для обеих зависимостей отличается, и зависимость приложения больше, чем у компонента Core Runtime. Теперь, если вы обновите MinVersion в исходном Package.appxmanifest из обозревателя решений, чтобы он соответствовал MinVersion пакета Microsoft.NET.CoreRuntime.1.0, т. е. до 1.0.22816.1, в следующий раз вы соберете проекта копия Core манифеста будет соответствующим образом обновлена:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="1.0.22816.1"
                        MaxVersionTested="10.0.10069.0" />
    <PackageDependency Name="Microsoft.NET.CoreRuntime.1.0"
                       MinVersion="1.0.22816.1"
                       Publisher="CN=Microsoft Corporation, O=Microsoft Corporation,
                       L=Redmond, S=Washington, C=US" />
</Dependencies>

Теперь приложение должно без проблем развернуться на телефоне.

PS. Подсказку для решения этой проблемы нашел в Глубокое погружение в XAML и разработку универсальных приложений для Windows .NET видео, перемотка вперед до 0:19:50.

person Sevenate    schedule 07.05.2015
comment
Это неправильные номера версий, которые вы получаете не из тех мест. Номер версии PackageDependency 1.0.22816 относится к номеру сборки VS (где собран пакет Microsoft.Net.CoreRuntime). Номер версии TargetDeviceFamily 10.0.10069.0 относится к версии ОС. Ваш ответ работает только случайно, потому что 1.0.22816.1 ниже, чем 10.0.10051 (или любая другая версия ОС устройства, на которое вы развертываете). - person Lucian Wischik; 20.05.2015
comment
@LucianWischik, тогда я пробовал разные более низкие номера версий, но по какой-то причине у меня сработало только то, что я упомянул. В любом случае, сейчас это уже не актуально, спасибо за обновление! - person Sevenate; 08.06.2015

Развертывание приложения Windows 10 на телефонах в настоящее время не поддерживается*. Ожидается, что эта функциональность появится в будущем обновлении (либо для телефонной версии Windows 10, либо для инструментов разработчика, либо для того и другого).

На данный момент вы можете использовать эмуляторы для тестирования приложений на форм-факторах телефонов.

редактировать: вот официальное слово от Microsoft: ссылка на блог MS Developer Tools

*похоже, некоторые могут взломать его, чтобы он заработал

person pumpkinszwan    schedule 07.05.2015
comment
Интересно, почему Microsoft не включила эту функцию, когда кажется, что такой простой хак работает. - person pumpkinszwan; 08.05.2015
comment
Я предполагаю, что это скорее еще не реализовано, чем задумано. Почти уверен, что со следующим крупным обновлением (или, по крайней мере, в RTM) эта неправильная конфигурация версии будет исправлена. - person Sevenate; 08.05.2015
comment
По состоянию на 18 мая поддерживается. Именно тогда вышла сборка Phone Insiders 10080. Он имеет более позднюю версию, чем пакет SDK 10069, который появился в VS2015 RC при сборке. - person Lucian Wischik; 20.05.2015