Share via


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

Mise à jour : novembre 2007

Cette rubrique explique comment créer une application du Common Language Runtime à niveau de confiance partiel à l'aide de Visual C++ en supprimant la dépendance vis-à-vis de msvcm90.dll.

Une application Visual C++ construite avec /clr sera dépendante de msvcm90.dll, qui fait partie de la bibliothèque Runtime C. Si vous souhaitez que votre application soit utilisée dans un environnement à confiance partielle, le CLR activera certaines règles de sécurité d'accès du code sur votre DLL. Il sera donc nécessaire de supprimer cette dépendance puisque msvcm90.dll contient du code natif et que la stratégie de sécurité d'accès du code ne peut pas lui être appliquée.

Si votre application n'utilise aucune des fonctionnalités de la bibliothèque Runtime C et que vous souhaitez supprimer de votre code la dépendance vis-à-vis de cette bibliothèque, vous devrez utiliser l'option de l'éditeur de liens /NODEFAULTLIB:msvcmrt.lib et effectuer la liaison avec ptrustm.lib ou ptrustmd.lib. Ces bibliothèques contiennent des fichiers objets pour l'initialisation et la désinitialisation 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 supprimera toute dépendance vis-à-vis de msvcm90.dll.

Remarque :

L'ordre de désinitialisation des assemblys peut être différent pour les applications qui utilisent les bibliothèques ptrust. Pour les applications normales, les assemblys sont habituellement déchargés dans l'ordre inverse de leur chargement, mais cela n'est pas garanti. Pour les applications de confiance partielle, les assemblys sont habituellement déchargés dans l'ordre de leur chargement. Cela n'est pas non plus garanti.

Pour créer une application mixte (/clr) de confiance partielle

  1. Pour supprimer la dépendance vis-à-vis de msvcm90.dll, vous devez spécifier à l'éditeur de liens de ne pas inclure cette bibliothèque à l'aide de l'option de l'éditeur de liens /NODEFAULTLIB:msvcmrt.lib. Pour plus d'informations sur la façon de faire à l'aide de l'environnement de développement Visual Studio ou par programme, 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 générez votre application en mode release. En mode débogage, utilisez ptrustmd.lib. Pour plus d'informations sur la façon de faire à l'aide de l'environnement de développement Visual Studio ou par programme, consultez .Fichiers .lib en tant qu'entrée de l'Éditeur de liens.

Voir aussi

Concepts

Assemblys mixtes (natif et managé)

Initialisation d'assemblys mixtes

Prise en charge de bibliothèque pour les assemblys mixtes

Référence

/link (Passer des options à l'Éditeur de liens)

Autres ressources

Sécurité dans le code natif et .NET Framework