6
votes

Une DLL peut-elle appeler une dll .NET?

Une dll natif peut appeler une dll .NET?


0 commentaires

3 Réponses :


4
votes

Non, vous devez utiliser géré C ++


1 commentaires

Exactement. Ce que nous faisons est de créer une mince emballage avec des exportations standard externe "C" dans géré C ++, puis écrivez le code réel en C #.



1
votes

Sans utiliser COM, vous devez écrire une enveloppe C ++ / CLI. Votre code natif qui inclut le fichier d'en-tête de votre wrapper doit être compilé avec / CLR (support d'exécution de langue courante).

juste pour la curiosité, pourquoi ne pas utiliser com Interop? Découvrez les outils Regasm.exe et TLBEXP.EXE.


2 commentaires

Parce que je ne connais pas avec com et fera tout ce que je peux pour éviter d'apprendre :)


Com souffre également du problème méchant de l'enfer DLL en raison de l'enregistrement mondial. Il est possible de faire une entreprise sans inscription, mais la documentation est déroutante et il y a des bogues Stackoverflow.com/questions/617253/...



1
votes

Vous avez besoin de quelque chose pour rendre le monde géré et le monde non géré. Travailler ensemble. Si vous ne voulez pas utiliser COM, vous pouvez créer des cours d'emballage en C ++ / CLI.

Voici un article qui peut vous aider à démarrer: . NET à C ++ Bridge .


1 commentaires

Merci pour l'article. C'est utile.