Как вызвать windows исполняемый компонент из проекта c ++ / cx uwp? - PullRequest
1 голос
/ 21 февраля 2020

Я создал C# исполняемый компонент на основе шаблона Visual Studio в том же решении, что и мой проект C ++ / CX UWP:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace httpServer
{
    public sealed class Class1
    {
        public int SampleProperty { get; set; }
    }
}

Я добавил ссылку на компонент в свой проект C ++ / CX UWP и создал объект следующим образом:

auto srv = ref new httpServer::Class1();

Решение компилируется, но в этой строке я получаю исключение:

Исключение, сгенерированное в 0x776A3DB2 в Bonsai Master UWP.exe: исключение Microsoft C ++ : EEFileLoadException в ячейке памяти 0x05598104.

onecore \ com \ combase \ objact \ dllcache.cxx (4713) \ combase.dll! 75CF6DE2: (вызывающий абонент: 75CFE2BB) ReturnHr (1) tid (8408) 80131040 исключение в 0x776A3DB2 (KernelBase.dll) в Bonsai Master UWP.exe: ошибка источника WinRT - 0x80131040: «Текст, связанный с этим кодом ошибки, не найден.».

1 Ответ

0 голосов
/ 21 февраля 2020

Это похоже на ошибку в Visual Studio: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/6d0d04e8-1471-4343-a78e-65c6405080cc/winrt-component-works-in-c-but-not-in-c?forum=wpdevelop

Я проверил VS 2017 и VS 2019: ошибка появляется в обоих случаях.

...