Como criar um aplicativo confiável parcialmente removendo a dependência da DLL de biblioteca CRT
Este tópico discute como criar um aplicativo parcialmente confiável de Common Language Runtime usando Visual C++ removendo a dependência em msvcm90.dll.
Um aplicativo do Visual C++ compilado com /clr terá uma dependência em msvcm90.dll, que faz parte da biblioteca do C - tempo de execução. Quando você deseja que seu aplicativo ser usado em um ambiente de confiança parcial, CLR impõe determinadas regras de segurança de acesso a código no seu DLL. Consequentemente, será necessário remover essa dependência como msvcm90.dll contém o código nativo e política de segurança de acesso a código não pode ser aplicada nela.
Se seu aplicativo não usa nenhuma funcionalidade da biblioteca de C - tempo de execução e você gostaria de remover a dependência nessa biblioteca em seu código, você terá que usar a opção do vinculador de /NODEFAULTLIB:msvcmrt.lib e links com o ptrustm.lib ou o ptrustmd.lib. Essas bibliotecas contêm arquivos de objeto para a inicialização e o uninitialization de um aplicativo, classes de exceção usadas pelo código de inicialização, e o código gerenciado de manipulação de exceção. Vincular em uma dessas bibliotecas removerá qualquer dependência em msvcm90.dll.
Dica
A ordem de uninitialization de assembly pode ser diferente para os aplicativos que usam as bibliotecas de ptrust.Para aplicativos comuns, os assemblies são descarregados normalmente em ordem inversa que estão carregados, mas isso não é garantido.Para aplicativos parciais de confiança, os assemblies são descarregados normalmente na mesma ordem que estão carregados.Isso não é garantido, também.
Para criar um aplicativo (/clr) misto parcialmente confiável
Para remover a dependência em msvcm90.dll, você deve especificar ao vinculador para não incluir essa biblioteca usando a opção do vinculador de /NODEFAULTLIB:msvcmrt.lib . Para obter informações sobre como fazer isso usando o ambiente de desenvolvimento do Visual Studio ou programaticamente, consulte /NODEFAULTLIB (ignorar bibliotecas).
Adicionar uma das bibliotecas de ptrustm as dependências de entrada do vinculador. Use ptrustm.lib se você estiver criando o seu aplicativo no modo de versão. Para o modo de depuração, use ptrustmd.lib. Para obter informações sobre como fazer isso usando o ambiente de desenvolvimento do Visual Studio ou programaticamente, consulte Arquivos .Lib como entrada de vinculador.
Consulte também
Referência
/link (passar opções para o vinculador)
Conceitos
Assemblies mistos (nativos e gerenciados)
Inicialização de assemblies mistos
Suporte de biblioteca para assemblies mistos