从Go语言调用的C#DLL(类库)函数

Artanis Zeratul:

您好Go Lang和C#专家,

美好的一天。我想问你们是否有人尝试过Go程序调用C#DLL函数(类库类型)?

我进行了一些初步研究,并看到了以下文章:

- https://github.com/golang/go/wiki/WindowsDLLs
- https://stackoverflow.com/questions/27849137/golang-call-windows-dll-functions

但是这些都是从C Win32实现中创建的DLL。我尝试搜索加载到Go程序中的C#DLL,所有这些都会告诉您在Go程序上调用它之前,您需要具有C ++ / C(Win32)包装器。

另外,上面的链接将告诉您Go认为我认为是“ C”声明(类型为__declspec)或类似代码(例如WINAPI)。

在这种情况下,有没有一种方法可以完全跳过C / C ++包装器并直接在Go中调用C#DLL函数?

您的启发性意见和建议将不胜感激=)!

谢谢

Cheng Chen :

选项1把你的.NET的DLL到像COM组件这个,那么你可以从golang的步骤,重新调用它,你的第一个环节请记住,此选项仅适用于Windows。

选项2将DLL包装在一个简单的C#控制台应用程序中,然后使用os / exec在golang中调用该应用程序如果您的C#DLL是跨平台的,则您的最终程序仍然是跨平台的。

这两个选项都需要C#的基本知识,要么创建COM组件,要么编写控制台应用程序以调用DLL。IMO后者更容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章