質問

C#を介してアクセスする必要があるカスタムDLL(登録されていません)があります。 DLLを登録せずにこれを行うにはどうすればよいですか?

編集:C ++ DLLです。

役に立ちましたか?

解決

見る 登録フリーCOM Interop:

登録フリーCOM Interopは、Windowsレジストリを使用してアセンブリ情報を保存せずにコンポーネントをアクティブにします。展開中にコンピューターをコンピューターに登録する代わりに、バインディングとアクティベーションに関する情報を含む設計時にWin32スタイルのマニフェストファイルを作成します。レジストリキーではなく、これらのマニフェストファイルは、オブジェクトのアクティブ化を指示します。

展開中に登録する代わりに、アセンブリに登録なしのアクティベーションを使用することで、2つの利点があります。

  • コンピューターに複数のバージョンがインストールされている場合、どのDLLバージョンがアクティブになっているかを制御できます。
  • エンドユーザーは、XcopyまたはFTPを使用して、アプリケーションをコンピューター上の適切なディレクトリにコピーできます。その後、アプリケーションはそのディレクトリから実行できます。

他のヒント

P/Invokeを介してこのDLLからエクスポートされた関数を使用したいと思いますか?その場合、exeファイルと同じフォルダーにdllをコピーする必要があります。次に、使用するC ++ DLLの関数のC#宣言を書きます。見る dllimportattribute.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top