SDK расширения для приложений Магазина Windows не работает во время удаленной отладки

Я создал Расширение SDK который в основном состоит из компонента среды выполнения Windows, который я написал с использованием C ++ / CX. Я сделал это, чтобы сделать свой компонент доступным для разработчиков, создающих приложения для Магазина Windows 8 на любом языке (C ++, C # или JavaScript).

SDK отлично работает на моей локальной машине. Я могу создавать и запускать свое приложение локально как в конфигурации отладки, так и в выпуске. Однако, когда я пытаюсь выполнить удаленную отладку моего приложения на удаленной машине, я замечаю, что мое приложение перестает работать при попытке использовать компонент из моего SDK. Как ни странно, этот сбой происходит только тогда, когда мое приложение работает в режиме отладки. В режиме релиза все работает нормально.

Что я делаю неправильно?

0

Решение

Использование Visual Studio 2012

Я думаю, что я понял. Я включил один и тот же двоичный файл компонента C ++ / CX WinRT в папки Debug и Retail в папке «Redist» моего Extension SDK.

В результате этот двоичный файл всегда зависит от выпуска CRT из Visual Studio 2012.

Теперь, когда я запускаю версию выпуска моего приложения удаленно, двоичный файл приложения и компонент SDK зависят от выпуска CRT. И выпуск CRT также обнаружен в системе, поскольку приложение зависит от выпуска VCLibs пакета. Так что релиз приложения работает нормально.

Однако, когда я запускаю отладочную версию моего приложения удаленно, приложение зависит от CRT отладки из Visual Studio 2012, но компонент SDK зависит от выпуска CRT. Поскольку приложение зависит только от отладочного пакета VCLibs, оно находит только отладочный CRT во время выполнения. Поэтому компонент SDK не загружается.

Решение состоит в том, чтобы при создании вашего SDK ваш двоичный файл релиза зависел от CRT выпуска, а ваш двоичный файл отладки зависел от CRT отладки.

Для получения дополнительной информации о том, как C ++ Runtime работает для приложений Магазина Windows, см. Следующую ссылку:
http://blogs.msdn.com/b/vcblog/archive/2012/09/28/10354327.aspx


Обновите, что теперь он работает в Visual Studio 2013

Использование Visual Studio 2013

В Visual Studio 2013 пакет AppX отладки VCLibs содержит библиотеки DLL отладки и выпуска CRT. Таким образом, в конфигурации отладки приложение зависит от Debug CRT, а бинарные файлы Extension SDK зависят от Release CRT. Обе библиотеки DLL находятся в пакете VXibs Debug AppX. Так что это работает.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]