gpt4 book ai didi

c# - 在不使用 Regasm 的情况下在 C++ 代码中使用 C# dll

转载 作者:行者123 更新时间:2023-11-28 06:48:34 24 4
gpt4 key购买 nike

我创建了一个 C++ 应用程序,它使用 C# dll,链接如下所示。

http://support.microsoft.com/kb/828736

该应用程序在我的开发 PC 上运行良好,但当我尝试在另一台 PC 上运行它时,它失败了。

让它工作的唯一方法是在该 PC 上重新编译 C# dll 并在该 PC 上再次运行 Regasm 命令以使其工作。

有没有一种方法可以构建我的 C# dll,这样我就不必在我的应用程序部署到的每台 PC 上每次都这样做?

最佳答案

regasm 的作用是为您的 C# dll 生成一个 COM 包装器,然后将其注册为一个 COM 对象。

虽然你不需要重新编译,一旦你有了一个dll,你就可以在目标上注册它PC using regasm .

调用 C# dll 的另一种主要方法是使用 Microsoft 的 C++/CLI 系统编写 C++ .net 程序。这基本上是 creating .NET programs using a superset of C++ 的一种方式(提示:它不是 C++,这是一种耻辱,因为它所取代的旧托管扩展对于这项任务来说更加透明)。由于它不是“真正的”C++,您最终会得到一个 .NET 二进制文件而不是 C++ 二进制文件,因此请注意这一点。一个方面是您可以为 C# dll 编写一个 C++/CLI 包装器并从您的 C++ 程序调用它,这可能是在系统之间创建桥梁的首选方法。

关于c# - 在不使用 Regasm 的情况下在 C++ 代码中使用 C# dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24484398/

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