0

我想知道如何导出 dll 函数,因为我有一个程序需要函数导出才能使用它们。

我可以在 c# 中完成这个吗?

PS:使用该dll的程序不是O.Source,我无法将引用添加到其中。

4

3 回答 3

0

可能,最接近您要求的选项是使用Unmanaged Exports

有关其他选项,请参见此处此处

于 2013-10-14T06:56:47.843 回答
0

1 您可以使用MEF Framework- 基于Export, ImportCatalog

链接:http: //msdn.microsoft.com/en-us/library/dd460648.aspx

2 您也可以通过使用在您的网络上公开 WCF

链接: http: //msdn.microsoft.com/en-us/library/ms735119 (v=vs.90).aspx

注意:您还有另一种可能性,这取决于您的选择和技术限制

于 2012-09-17T15:57:28.980 回答
0

如果另一个应用程序是 .NET 应用程序,它可以添加对您的程序集 (DLL)的引用public,并使用程序集中定义的任何类型。这使它可以完全访问您的代码。

如果您需要与 C# 代码一起使用的本机 API,那么这将变得更加困难。有几个选项:

  1. 使用 COM。您可以将类型标记为 ComVisible并注册程序集。这允许通过 COM 访问您的代码。
  2. 使用 C++/CLI 围绕托管类型构建本机包装器。这将需要一个单独的程序集 (DLL) 来提供本机导出,并在内部使用托管类型。

这里的最佳选择实际上取决于“其他应用程序”需要如何访问您的代码。如果它不是 .NET 应用程序,COM 通常是最简单(通常也是最好的)选项。

于 2012-09-17T15:58:15.030 回答