gpt4 book ai didi

c# - 直接从 C# 调用托管 C++ 失败

转载 作者:搜寻专家 更新时间:2023-10-31 02:00:24 25 4
gpt4 key购买 nike

拥有 A.dll,这是一个托管的 C++ 项目(没有其他依赖项)来自 B.dll,这是一个 C# 项目,其中引用了具有 Nunit 方法 foo() 的 A.dll。如果从 foo() 调用托管 C++ 代码,我会得到 FileNotFoundException:The specified module could not be found。 (HRESULT 异常:0x8007007E)。

我试图将 B.dll 更改为控制台应用程序,但出现了同样的异常。如果我将托管 C++ 代码包装在 B.dll 中的其他一些 C# 类中,然后从 foo() 调用包装器,一切正常。

托管 C++ 是一个静态类,其中所有函数参数都是托管类型。

想法?

谢谢,盖伊

最佳答案

这不是托管 DLL 加载错误,您在 Fuslogvw.exe 中看不到它。我猜测无法找到 C++/CLI 程序集的非托管 DLL 依赖项。您将能够看到 Windows 使用 SysInternals 的 ProcMon 实用程序搜索 DLL。

关于c# - 直接从 C# 调用托管 C++ 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095465/

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