Partilhar via


Evitando exceções no desligamento do CLR ao consumir objetos COM criados com /clr

Quando o Common Language Runtime (CLR) entra no modo de desligamento, as funções nativas têm acesso limitado aos serviços CLR. Ao tentar chamar Release em um objeto COM compilado com /clr, o CLR faz a transição para o código nativo e, em seguida, faz a transição de volta para o código gerenciado para atender à chamada IUnknown::Release (que é definida no código gerenciado). A CLR impede a chamada de retornar ao código gerido, já que está em modo de encerramento.

Para resolver isso, certifique-se de que os destruidores chamados a partir de métodos Release contenham apenas código nativo.

Ver também

Montagens mistas (nativas e gerenciadas)