gpt4 book ai didi

c# - 使用 native C++ 中的通用 Windows C# 类库

转载 作者:可可西里 更新时间:2023-11-01 18:38:13 25 4
gpt4 key购买 nike

我有带有 UI 组件的通用 Windows C# 类库。我想知道我是否可以在 native C++ 中使用它。

我尝试使用 regasm将类库dll转换为tlb文件,但抛出错误

Error: Assembly must not be a Windows Runtime assembly.

我还尝试为 C# 类库制作一个 WinRT/WRL 包装器,并尝试从 native C++ 加载它。但是,当我为包装器 dll 调用 LoadLibrary 时,即使所有 dll 和可执行文件都在同一目录中,它也会返回“nullptr”和 126 错误。

那么我如何使用 native C++ 中的通用 Windows 类库呢?可能吗?

最佳答案

您必须将您的类库公开为 COM 组件并从 native 代码调用它,这是最方便的解决方案。您将无法从 native C++ 调用通用 Windows C# 类库,因为它不会被识别,而且正如您在问题中提到的那样,它会导致 nullptr 异常。

有趣的是,您可以反过来做!

您可以创建一个 native C++ 库并在通用 Windows C# 平台中调用它 - MSDN 中有关于此做法的整篇文章:

Use Existing C++ Code in a Universal Windows Platform App

有趣的是,在我看来,你可以做一件事,但不能做另一件事,但仍然很高兴知道至少有一种方法实际上是可能的。

关于c# - 使用 native C++ 中的通用 Windows C# 类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51435098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com