将旧的 C++ DLL 转换为 C#

Old C++ DLLs into C#

我有一个 C# 项目,需要我使用用 C++ 编写的 SDK。我对 C++ 有点不熟悉,但我设法找到了所有重要的函数和我需要的 类。

据我所知,我想 C++/CLR 将是我最好的选择。

SDK 本身主要使用一个名为 "VssSDK.dll" 的 DLL,它带有多个 header 文件。

现在是 2018 年,所以我希望有某种方法可以将非常大的 DLL 转换成我可以在我的 .NET 应用程序中使用的东西 ,而无需花费 10 小时来创建 header 和什么不使用 CLR(这是他们创建包装器的意思吗?)。

我希望此线程对需要承担相同任务的任何人都有用:将旧 DLL 导入 C# 项目。

任何指南和信息都会有所帮助。

要使用本机 dll 中的本机方法,您需要使用 DllImport 属性和 extern 关键字对其进行声明。您可能会看到 extern documentation here.

要使用 classes 和 class 方法,您应该首先创建一个包装器 dll(将 class 方法转换为将第一个参数作为指向对象的指针的函数class)。您可以使用 Wrappit 工具。

希望对您有所帮助。