2009-06-20 6 views
0

Je souhaite appeler un composant C# à partir d'un service C++ non géré. J'ai besoin de définir les éléments de configuration attendus par le composant C#. Quel nom devrait être config être et où devrait-il être localisé.Appel du composant C# géré à partir du code C++ non géré, comment puis-je définir la configuration

par ex. parentFolder \ cplusplusservice.exe

anotherfolder \ csharp.dll

i besoin csharp.dll.config ou son équivalent.

Merci,

+0

Voulez-vous simplement modifier le fichier .config ou instancier des objets à partir de la DLL gérée? – heavyd

+0

Je veux juste utiliser les valeurs des valeurs .config dans le code managé, mais je ne sais pas où créer le fichier de configuration et quelle devrait être la convention de dénomination. –

Répondre

0

Le .config fichier doit être nommé le même que le nom de l'application. Lorsque le code non géré commence par appeler le code managé, AppDomain est créé pour que AppDomain contrôle le fichier de configuration chargé et d'où.

Vous devrez copier manuellement le fichier .config dans le répertoire de sortie et le nommer après le nom de l'application ou créer un post-build pour le faire.

Fondamentalement, les mêmes règles que celles qui s'appliquent aux fichiers .config pour les applications gérées pures s'appliquent aux applications non gérées qui chargent du code managé.

0

Cela dépend de la façon dont l'AppDomain hébergeant votre code managé est créé. Par exemple, si vous exposez le code géré en tant que COM, il sera chargé dans l'AppDomain par défaut et le fichier de configuration sera dans le même répertoire que l'exécutable (parentfile \ cplusplusservice.exe.config dans votre cas).

Si vous créez l'AppDomain vous-même, vous pouvez contrôler l'emplacement du fichier de configuration.

Questions connexes