簡體   English   中英

從Go語言調用的C#DLL(類庫)函數

[英]C# DLL (Class Library) functions called from Go Language

你好Go Lang和C#gurus,

美好的一天。 我想問一下你是否有人試過從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,所有這些都會告訴你需要一個C ++ / C(Win32)包裝才能在Go程序上調用它。

另外,上面的鏈接會告訴你Go正在期待我認為的“C”聲明(類型為__declspec)或喜歡(例如WINAPI)。

在這種情況下我們可以完全跳過C / C ++包裝器並在Go中直接調用C#DLL函數嗎?

非常感謝您的啟發性想法和投入=)!

謝謝

選項1把你的.NET的DLL到像COM組件這個 ,那么你可以從golang的步驟,重新調用它, 你的第一個環節 請記住,此選項僅適用於Windows。

選項2將DLL包裝在一個簡單的C#控制台應用程序中,並使用os / exec在golang中調用該應用程序。 如果您的C#DLL是跨平台的,那么您的最終程序仍然是跨平台的。

這兩個選項都需要C#的基本知識,要么創建COM組件,要么編寫控制台應用程序來調用DLL。 IMO后者更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM