Использование 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++ для приложений Магазина 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 Debug и Release CRT. Таким образом, в конфигурации отладки приложение зависит от CRT отладки, а двоичные файлы Extension SDK зависят от CRT выпуска. Обе библиотеки DLL находятся в пакете VCLibs Debug AppX. Так что это работает.
person
Raman Sharma
schedule
21.12.2012