Old C++ DLLs into C#

Old C++ DLLs into C#

本文关键字:into DLLs C++ Old      更新时间:2023-10-16

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

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

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

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

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

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

  • SDK 在 Visual Studio 2010 上编译
  • VssSdk.ddl 是一个共享库
  • 我需要重用 VssSdk 中包含的类.dll
  • 需要使用 4.6.2 框架与 .NET 兼容
  • VssSdk 需要数百个函数和类.dll
  • 我尚未设法将SDK演示迁移到VS2017

若要使用本机 dll 中的本机方法,需要使用 DllImport 属性和 extern 关键字声明它。您可以在此处查看外部文档。

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

我希望这是有帮助的。