アンマネージC ++コードからマネージC#コンポーネントを呼び出す、構成を定義する方法

StackOverflow https://stackoverflow.com/questions/1020964

  •  06-07-2019
  •  | 
  •  

質問

アンマネージc ++サービスからC#コンポーネントを呼び出したい。 C#コンポーネントが期待する構成アイテムを設定する必要があります。設定する名前と場所を指定する必要があります。

eg。 parentfolder \ cplusplusservice.exe

anotherfolder \ csharp.dll

iにはcsharp.dll.configまたはその同等のものが必要です。

ありがとう、

役に立ちましたか?

解決

.configファイルには、アプリケーションの名前と同じ名前を付ける必要があります。アンマネージコードが最初にマネージコードを呼び出すと、AppDomainが作成され、AppDomainはどの構成ファイルをどこから読み込むかを制御します。

.configファイルを出力ディレクトリに手動でコピーし、アプリケーション名の後に名前を付けるか、ポストビルドを作成する必要があります。

基本的に、純粋なマネージアプリ用に.configファイルが必要な場所に適用される同じルールが、マネージコードを読み込むアンマネージアプリに適用されます。

他のヒント

この記事では、C#で構成ファイルを使用する方法を示します:

http://www.devasp.net/net/articles/display /679.html

この記事では、アンマネージc ++からマネージc#コンポーネントを呼び出したり、その逆を行ったり、いくつかのヘルパークラスを呼び出したりする概要を説明します。

http://www.codeproject.com/KB/mcpp/unmanaged_to_managed.aspx

マネージコードをホストしているAppDomainの作成方法によって異なります。

たとえば、マネージコードをCOMとして公開している場合、既定のAppDomainに読み込まれ、構成ファイルは実行可能ファイルと同じディレクトリにあります(この場合、parentfolder \ cplusplusservice.exe.config)。 。

自分でAppDomainを作成する場合、構成ファイルの場所を制御できます。

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