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

时间:2018-04-05 15:25:09

标签: c# c++ clr wrapper

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

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

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

2018年,所以我希望有一些方法可以将这个非常大的DLL转换成我可以在.NET应用程序中使用的东西,而不用花费10个小时来创建标题和什么不使用CLR < / strong>(这是创建包装器的意思吗?)。

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

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

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

1 个答案:

答案 0 :(得分:0)

要使用本机dll中的本机方法,您需要使用DllImport属性和extern关键字声明它。您可能会看到Why does poll keep returning although there is no input?

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

我希望这有用。