链接到vcruntime140.dll而不是vcruntime140_app.dll

时间:2019-02-25 09:56:00

标签: c++-winrt

我找到了一种方法,通过绕过默认的激活工厂分辨率,在桌面上(不带应用程序容器)利用cpp winrt进行C#/ C ++互操作。

我这样做的方法是,将本机C ++函数公开为工厂,并返回在C#中IP / Invoke的IUnknown指针,然后调用Marshal.GetUniqueObjectForIUnknown(ptr)以获取可转换为WinRT接口的RCW。 / p>

我现在遇到的问题是,我的C ++库链接到vcruntime140_app.dll而不是vcruntime140.dll,这实际上使该文件无法重新分发。 有没有办法使cppwinrt库链接到桌面C运行时? (我使用Visual Studio 2019预览模板)

1 个答案:

答案 0 :(得分:0)

我发现将AppContainerApplication属性设置为false似乎可行。

我肯定会在github上放一些东西来解释我的解决方案。