Share via


Como: Criar um aplicativo parcialmente confiável, removendo dependência na biblioteca do CRT DLL

Este tópico discute como criar um aplicativo parcialmente confiável do Common linguagem tempo de execução usando Visual C++ Removendo dependência msvcm90.dll.

Um aplicativo do Visual C++ construído com /clr terá uma dependência em msvcm90.dll, que faz parte da biblioteca C tempo de execução. Quando desejar que seu aplicativo a ser usado em um ambiente parcialmente confiável, o CLR aplicará certas regras segurança de acesso do código 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 do código não pode ser aplicada nele.

Se seu aplicativo não usar qualquer funcionalidade do C tempo de execução Library 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 para inicialização e desinicialização de um aplicativo, classes de exceção usado pelo código de inicialização e o código de manipulação de exceção gerenciada.Vinculando em uma das seguintes bibliotecas removerá qualquer dependência msvcm90.dll.

Observação:

A ordem dos desinicialização assembly pode ser diferentes para aplicativos que usam as bibliotecas ptrust.Para aplicativos normais, módulos (assemblies) geralmente é descarregados na ordem inversa em que eles são carregados, mas isso não é garantido.Para aplicativos com confiança parcial, módulos (assemblies) geralmente é descarregados na mesma ordem em que eles sejam carregados.Isso, além disso, não é garantido.

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

  1. Para remover a dependência em msvcm90.dll, você deve especificar para 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 do Visual Studio ou programaticamente, consulte /NODEFAULTLIB (Ignorar bibliotecas).

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

Consulte também

Conceitos

Misto (nativo e gerenciado) assemblies

Inicialização de assemblies mistos

Biblioteca de suporte para conjuntos mistos

Referência

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

Outros recursos

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