将旧的 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# 项目。
任何指南和信息都会有所帮助。
- SDK 在 visual studio 2010
上编译
- VssSdk.ddl 是共享库
- 我需要 re-use 类 包含在 VssSdk.dll
中
- 需要与使用 4.6.2 框架的 .NET 兼容
- 数以百计的功能和 类 需要 VssSdk.dll
- 我还没有成功将 SDK demo 迁移到 VS2017
要使用本机 dll 中的本机方法,您需要使用 DllImport 属性和 extern 关键字对其进行声明。您可能会看到 extern documentation here.
要使用 classes 和 class 方法,您应该首先创建一个包装器 dll(将 class 方法转换为将第一个参数作为指向对象的指针的函数class)。您可以使用 Wrappit 工具。
希望对您有所帮助。
我有一个 C# 项目,需要我使用用 C++ 编写的 SDK。我对 C++ 有点不熟悉,但我设法找到了所有重要的函数和我需要的 类。
据我所知,我想 C++/CLR 将是我最好的选择。
SDK 本身主要使用一个名为 "VssSDK.dll" 的 DLL,它带有多个 header 文件。
现在是 2018 年,所以我希望有某种方法可以将非常大的 DLL 转换成我可以在我的 .NET 应用程序中使用的东西 ,而无需花费 10 小时来创建 header 和什么不使用 CLR(这是他们创建包装器的意思吗?)。
我希望此线程对需要承担相同任务的任何人都有用:将旧 DLL 导入 C# 项目。
任何指南和信息都会有所帮助。
- SDK 在 visual studio 2010 上编译
- VssSdk.ddl 是共享库
- 我需要 re-use 类 包含在 VssSdk.dll 中
- 需要与使用 4.6.2 框架的 .NET 兼容
- 数以百计的功能和 类 需要 VssSdk.dll
- 我还没有成功将 SDK demo 迁移到 VS2017
要使用本机 dll 中的本机方法,您需要使用 DllImport 属性和 extern 关键字对其进行声明。您可能会看到 extern documentation here.
要使用 classes 和 class 方法,您应该首先创建一个包装器 dll(将 class 方法转换为将第一个参数作为指向对象的指针的函数class)。您可以使用 Wrappit 工具。
希望对您有所帮助。