0

DLL 関数を使用するために関数のエクスポートが必要なプログラムがあるため、DLL 関数をエクスポートする方法を知りたいです。

これをC#で実現できますか?

PS: dll を使用しているプログラムは O.Source ではなく、参照を追加できません。

4

3 に答える 3

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 に答える