Ссылка на vcruntime140.dll вместо vcruntime140_app.dll - PullRequest
0 голосов
/ 25 февраля 2019

Я нашел способ сделать взаимодействие C # / C ++, используя cpp winrt на рабочем столе (без контейнеров приложений), обойдя разрешение Factory Activation по умолчанию.как фабрики, возвращающие IUnknown, указывают, что IP / Invoke в C #, а затем вызывают Marshal.GetUniqueObjectForIUnknown (ptr), чтобы получить RCW, который я могу привести к интерфейсу WinRT.

Проблема, которую я имею сейчас, состоит в том, что мой C ++lib связана с vcruntime140_app.dll вместо vcruntime140.dll, что делает ее фактически не подлежащей распространению.Есть ли способ сделать библиотеку cppwinrt, ссылающуюся на среду выполнения C на рабочем столе?(Я использую шаблоны визуальной студии Visual Studio 2019)

1 Ответ

0 голосов
/ 25 февраля 2019

Я обнаружил, что установка свойства AppContainerApplication в false, похоже, работает.

Я обязательно добавлю кое-что на github, объясняя мое решение.

...