Compartilhar via


Como: Criar um aplicativo parcialmente confiável, removendo a 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 do Visual C++ criado com /clr terão uma dependência de msvcm90.dll, que é parte da biblioteca de tempo de execução C. Quando você deseja que seu aplicativo a 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 o código nativo e diretiva de segurança de acesso do 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 do seu código, você terá que usar o /NODEFAULTLIB:msvcmrt.lib a opção de vinculador e vincule com ptrustm.lib ou ptrustmd.lib. Essas bibliotecas contêm arquivos de objeto para inicialização e desinicialização de um aplicativo, classes de exceção usado pelo código de inicialização e gerenciado de código de manipulação de exceção. Vinculando-se em uma dessas bibliotecas para remover qualquer dependência de msvcm90.dll.

ObservaçãoObservação

A ordem dos desinicialização do assembly pode ser diferentes para aplicativos que usam as bibliotecas de ptrust. Para aplicativos normais, assemblies geralmente são descarregados na ordem inversa em que eles são carregados, mas isso não é garantido. Para aplicativos de confiança parcial, os assemblies são geralmente descarregados na mesma ordem em que eles estão carregados. Isso, além disso, 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. Se você estiver criando o seu aplicativo no modo de versão, use ptrustm.lib. Para 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 .Arquivos de lib como entrada de vinculador.

Consulte também

Referência

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

Conceitos

Mistos de Assemblies (nativos e gerenciados)

Inicialização de Assemblies mistos

Suporte de biblioteca para Assemblies mistos

Outros recursos

Segurança em Native e código .NET Framework