Managed c # Komponente von nicht verwalteten c ++ Code aufrufen, wie definieren i Config

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

  •  06-07-2019
  •  | 
  •  

Frage

Ich möchte eine C # Komponente aus einem nicht verwalteten c ++ Dienst rufen. Ich brauche Config-Elemente von der C # Komponente erwartet einzustellen. Welchen Namen sein Config sein sollte und wo es gefunden werden sollte.

zB. parent \ cplusplusservice.exe

anotherfolder \ csharp.dll

ich brauche csharp.dll.config oder dessen Äquivalent.

Danke,

War es hilfreich?

Lösung

Die CONFIG-Datei muss die gleiche wie die Anwendung des Namens benannt werden. Wenn der nicht verwalteten Code zunächst den verwalteten Code ruft in einer AppDomain erstellt, dass AppDomain Steuerelemente welcher Konfigurationsdatei geladen wird und von wo aus.

Sie müssen manuell die .config-Datei in das Ausgabeverzeichnis kopieren und nach dem Anwendungsnamen nennen oder eine Post-Build erstellen, dies zu tun.

Im Grunde genommen die gleichen Regeln, die gelten, wenn CONFIG-Dateien müssen für reine verwaltete Anwendungen zu gelten für nicht verwaltete Anwendungen, die verwalteten Code zu laden.

Andere Tipps

Dieser Artikel zeigt, wie Konfigurationsdateien mit c # verwenden:

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

Dieser Artikel gibt einen Überblick über Aufruf verwaltet c # Komponente von nicht verwalteten c ++ und umgekehrt, sowie einige Hilfsklassen:

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

Es hängt davon ab, wie die AppDomain, die Ihren verwalteten Code präsentiert wird erstellt.

Zum Beispiel, wenn Sie den verwalteten Code als COM aussetzen, wird es in den Standard-AppDomain geladen werden, und die Konfigurationsdatei im selben Verzeichnis wie die ausführbaren Datei (parent \ cplusplusservice.exe.config in Ihrem Fall) sein wird, .

Wenn Sie die AppDomain selbst erstellen, können Sie steuern, wo sich die Konfigurationsdatei befindet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top