Appeler des dépendances C++ à partir d’un exécutable .NET AnyCPU

Il existe différentes méthodes pour appeler des dépendances natives à partir de .NET (cf. Appeler des DLL natives à partir de .NET). Ces méthodes ont en commun de devoir charger la bibliothèque native de façon à exécuter le code qui s’y trouve. Le chargement de DLL par l’application appelante implique que l’architecture de cette dernière…

Continuer à lire

Installer une assembly native dans WinSxS

Plusieurs méthodes sont possibles pour référencer des dépendances natives: consommer des dépendances en utilisant des bibliothèques statiques, des bibliothèques dynamiques, référencer un objet avec une interface COM etc… Suivant le cas d’utilisation, chacune de ces méthodes peut s’avérer plus intéressante qu’une autre. Par exemple, utiliser des bibliothèques dynamiques a le grand avantage d’apporter une modularité…

Continuer à lire

Appeler des DLL natives à partir de .NET

Parfois quand on veut effectuer un traitement particulier, utiliser un middleware propriétaire ou simplement utiliser une bibliothèque tiers, on ne dispose pas forcément d’assembly .NET permettant d’effectuer ce traitement et il peut être nécessaire d’effectuer des appels à une bibliothèque codée en C++. Cette bibliothèque native peut être livrée sous forme d’une bibliothèque statique (fichier…

Continuer à lire

Référencer une DLL C++ avec une bibliothèque statique d’import

Dans un projet en C++, quand on souhaite organiser le code dans différentes bibliothèques, on a le choix entre utiliser des bibliothèques statiques et dynamiques. Les bibliothèques statiques sont facilement intégrables dans un projet toutefois si on souhaite la mettre à jour, il faut recompiler tout le projet qui le consomme. Les bibliothèques dynamiques sont,…

Continuer à lire

Comment configurer un projet multi-target dans Visual Studio 2017 ?

Il existe une fonctionnalité dans Visual Studio 2017 qui n’est pas évidente à repérer et qui consiste à avoir plusieurs frameworks cibles pour un projet donné. Traditionnellement dans Visual Studio, on crée un projet pour un framework donné, or depuis la multiplication récente des cibles de compilation (.NET Standard ou .NET Core), il peut être…

Continuer à lire