gpt4 book ai didi

c# - C++ 非托管包装器在 Web 项目/iis 中不起作用

转载 作者:行者123 更新时间:2023-11-30 04:03:07 24 4
gpt4 key购买 nike

我收到了一个 C++ 非托管代码的包装器类,我需要将其添加到我的 Web 项目并通过 C# 调用。

1) 在 c# 桌面应用程序项目中

当我添加引用时,我只能添加包装器 dll。无法添加非托管 dll。我认为这不是问题。然后,当我构建和运行时,它给出了一个错误提示

无法加载文件或程序集“AskCmnWrapper.DLL”或其依赖项之一。找不到指定的模块。

然后我手动将我的非托管 dll 复制到 bin 文件夹中。效果不错

2) 在 C# 网络应用程序中

我遇到了同样的问题。当我尝试使用 iis express(通过 vs2012)运行它时,手动将我的非托管 dll 复制到 bin 文件夹。但它不工作。在 Web 应用程序中运行非托管 dll/wrappers 时是否需要进行任何特殊配置?

请指导我。谢谢。

最佳答案

您可能缺少一些必需的 C++ 可再发行组件或其他依赖项。运行 Dependendy Walker在您的 native DLL 上查看缺少哪些。

理想情况下,您希望创建一个 C++/CLI 项目,其中包含您正在包装的 native 库的源代码,并在同一项目中在其之上编写一个托管 C++/CLI 包装器。这样,您的文件夹中只需要“包装器”(包含 native 代码)。

如果您没有源代码,并且无法将库静态链接到您的 C++/CLI 项目中,您需要在目录中同时包含包装器 DLL 和 native DLL在运行时,因为那时它们将被链接。

关于c# - C++ 非托管包装器在 Web 项目/iis 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24672583/

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