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
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).
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)