2012-09-17 38 views
0

我想知道如何導出dll函數,因爲我有一個程序需要導出函數才能使用它們。如何導出c#dll函數以便能夠從另一個應用程序訪問它

我可以在c#中完成此操作嗎?

PS:使用DLL的程序不是O.Source,我不能將引用添加到它。

+0

你的意思是你需要訪問其他應用程序中的DLL的方法? – Luftwaffe

+0

其他應用程序是.NET應用程序嗎? –

+0

可以訪問其他應用程序中的dll方法。另一個應用程序使用python或delphi編碼: - ?不確定 – Jax

回答

0

如果其他應用程序一個.NET應用程序,它可以將一個參考添加到您的程序集(DLL)中,並使用程序集中定義的任何public類型。這使它可以完全訪問你的代碼。

如果您需要使用C#代碼的本地API,那麼這會變得更加困難。有幾種選擇:

  1. 使用COM。你可以mark types as ComVisible,並註冊組件。這使您的代碼可以通過COM訪問。
  2. 使用C++/CLI構建託管類型的本機包裝。這需要提供本地導出的單獨程序集(DLL),並在內部使用託管類型。

這裏最好的選擇真的取決於「其他應用程序」如何訪問您的代碼。如果它不是.NET應用程序,COM通常是最簡單的(也是最好的)選項。

相關問題