Partage via


Comment : créer une application partiellement approuvée en supprimant la dépendance de la DLL de la bibliothèque CRT

Cette rubrique explique comment créer une application Common Language Runtime partiellement approuvée à l’aide de Visual C++ en supprimant la dépendance sur msvcm90.dll.

Une application Visual C++ créée avec /clr aura une dépendance sur msvcm90.dll, qui fait partie de la bibliothèque C-Runtime. Lorsque vous souhaitez que votre application soit utilisée dans un environnement d’approbation partielle, le CLR applique certaines règles de sécurité d’accès au code sur votre DLL. Par conséquent, il sera nécessaire de supprimer cette dépendance, car msvcm90.dll contient du code natif et une stratégie de sécurité d’accès au code ne peut pas être appliquée sur celui-ci.

Si votre application n’utilise aucune fonctionnalité de la bibliothèque C-Runtime et que vous souhaitez supprimer la dépendance de cette bibliothèque de votre code, vous devez utiliser l’option /NODEFAULTLIB :msvcmrt.lib linker avec ptrustm.lib ou ptrustmd.lib. Ces bibliothèques contiennent des fichiers objet pour l’initialisation et l’annulation de l’initialisation d’une application, des classes d’exception utilisées par le code d’initialisation et le code de gestion des exceptions managées. La liaison dans l’une de ces bibliothèques supprime toute dépendance sur msvcm90.dll.

Remarque

L’ordre de l’annulation de l’assembly peut différer pour les applications qui utilisent les bibliothèques ptrust. Pour les applications normales, les assemblys sont généralement déchargés dans l’ordre inverse qu’ils sont chargés, mais cela n’est pas garanti. Pour les applications d’approbation partielle, les assemblys sont généralement déchargés dans le même ordre qu’ils sont chargés. Cela n’est pas garanti.

Pour créer une application mixte partiellement approuvée (/clr)

  1. Pour supprimer la dépendance sur msvcm90.dll, vous devez spécifier à l’éditeur de liens de ne pas inclure cette bibliothèque à l’aide de l’option /NODEFAULTLIB :msvcmrt.lib linker. Pour plus d’informations sur la façon de procéder à l’aide de l’environnement de développement Visual Studio ou par programmation, consultez /NODEFAULTLIB (Ignorer les bibliothèques).

  2. Ajoutez l’une des bibliothèques ptrustm aux dépendances d’entrée de l’éditeur de liens. Utilisez ptrustm.lib si vous créez votre application en mode mise en production. Pour le mode débogage, utilisez ptrustmd.lib. Pour plus d’informations sur la façon de procéder à l’aide de l’environnement de développement Visual Studio ou par programmation, consultez . Lib Files as Linker Input.

Voir aussi

Assemblys mixtes (natif et managé)
Initialisation d’assemblys mixtes
Prise en charge de bibliothèque pour les assemblys mixtes
/link (Passer des options à l’Éditeur de liens)