Partilhar via


Como: criar um aplicativo parcialmente confiável por removendo dependência da biblioteca CRT DLL

Este tópico discute como criar um parcialmente confiável Common Language Runtime aplicativo usando Visual C++ , removendo a dependência no msvcm90.dll.

Um aplicativo Visual C++ criado com /clr terá uma dependência no msvcm90.dll, que é parte da biblioteca C Runtime.Quando você deseja que seu aplicativo para ser usado em um ambiente de confiança parcial, o CLR irá impor certas regras de segurança de acesso de código em sua DLL.Portanto, será necessário remover essa dependência porque msvcm90.dll contém código nativo e diretiva de segurança de acesso de código não pode ser aplicada nele.

Se seu aplicativo não usar qualquer funcionalidade da biblioteca C Runtime e você gostaria de remover a dependência nesta biblioteca de seu código, você terá que usar o /NODEFAULTLIB:msvcmrt.lib opção de vinculador e link com ptrustm.lib ou ptrustmd.lib.Essas bibliotecas contêm arquivos de objeto de inicialização e desinicialização de um aplicativo, classes de exceção usado pelo código de inicialização e gerenciados código de manipulação de exceção.Vinculação de uma dessas bibliotecas para remover qualquer dependência de msvcm90.dll.

ObservaçãoObservação

A ordem de desinicialização assembly pode ser diferentes para aplicativos que usam as bibliotecas ptrust.Para aplicativos normais, assemblies são normalmente descarregados na ordem inversa em que eles são carregados, mas isso não é garantido.Para aplicativos de confiança parcial, assemblies são normalmente descarregados na mesma ordem em que são carregados.Isso, também, não é garantido.

Para criar um parcialmente confiável misto (/ clr) aplicativo

  1. Para remover a dependência no msvcm90.dll, você deve especificar o vinculador não incluir esta biblioteca usando o /NODEFAULTLIB:msvcmrt.lib opção de vinculador.Para obter informações sobre como fazer isso usando o ambiente de desenvolvimento de Visual Studio ou programaticamente, consulte / /NODEFAULTLIB (Ignorar bibliotecas).

  2. Adicione uma das bibliotecas de ptrustm para as dependências de entrada do vinculador.Use ptrustm.lib se você estiver criando seu aplicativo no modo de versão.Modo de depuração, use ptrustmd.lib.Para obter informações sobre como fazer isso usando o ambiente de desenvolvimento de Visual Studio ou programaticamente, consulte .Lib arquivos como entrada de vinculador.

Consulte também

Referência

/link (passar opções para o vinculador)

Conceitos

Mistos Assemblies (nativos e gerenciados)

Inicialização de Assemblies mistos

Suporte de biblioteca para Assemblies mistos

Outros recursos

Segurança no formato nativo e.NET Framework código