Я предлагаю вам использовать Visual Studio 2015 при нацеливании на старые обновления C ++ / WinRT и Windows 10.У меня сложилось впечатление, что большинство из них были поставлены поверх Visual Studio 2015 с обновлениями Visual Studio 2015 и обновлениями Windows 10 SDK и C ++ / WinRT.
При использовании Visual Studio 2015 с C ++ / WinRT вам потребуетсяпоследнее обновление, обновление 3. Проверьте наличие обновлений и убедитесь, что ваша копия Visual Studio 2015 содержит самые последние обновления.Я только что использовал установку Visual Studio 2015 Enterprise для перекомпиляции чего-то, что прекрасно компилируется с Visual Studio 2017, и обнаружил, что мне не хватает инструментов и SDK, в том числе для Win 10 SDK 10.0.14393, которые были в обновлении 3, которое я еще не установил.
Вы также можете перейти в раздел «Программы и компоненты» из панели управления, найти Microsoft Visual Studio 2015 в списке, а затем щелкнуть правой кнопкой мыши и изменить, что позволит вам проверить, что установлено, и что-либо изменить..
Работая с C ++ / WinRT в течение последних нескольких месяцев, я использовал и Visual Studio 2017 Community Edition, и Visual Studio 2015 Enterprise Edition.
При перемещении решения изVS 2015 до VS 2017, что потребовало от меня просмотра страницы свойств решения.См. Также обсуждение в синхронизации SDK с обновлением Windows 10 и использования WinRT со стандартным C ++
Работа с последними обновлениями Windows 10 и VS 2017 работает лучше всего для меня, поскольку я могу настроить таргетинг напоследние обновления для Windows 10.Однако я обнаружил, что попытка нацелить старые обновления Windows 10 с VS 2017 может быть проблематичной.
Извините, что не могу быть более конкретным.Во всей этой области обновлений C ++ / WinRT и Windows 10 гораздо больше ковбоя, чем мне бы хотелось, хотя сейчас это, похоже, успокаивается.
C ++ / WinRT - это библиотека шаблонов, которая изначально была проектом с открытым исходным кодом на GitHub,У меня сложилось впечатление, что Microsoft приобрела его, и теперь это стандартное предложение продукта.Я полагаю, что когда-то была значительно переписана C ++ / WinRT, так как Visual Studio 2015, а затем Visual Studio 2017 перешли к реализации большего количества C ++ 17 и предложенных стандартов C ++ 20 и Технических спецификаций для сопрограмм.
Кажется, это область, которая все еще меняется в некоторой степени.Однако большинство изменений происходили с VS 2015 и в начале VS 2017 вместе с SDK.Похоже, что сейчас с последними обновлениями все в порядке.