Usando componentes com manutenção com o cache de montagem global
Nota
Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
Os componentes com manutenção (componentes COM+ de código gerenciado) devem ser colocados no Cache de Assembly Global. Em alguns cenários, o Common Language Runtime e os Serviços COM+ podem manipular componentes atendidos que não estão no Cache de Assembly Global; noutros cenários, não podem. Os cenários a seguir ilustram isso:
Para componentes com manutenção em um aplicativo COM+ Server, o assembly que contém os componentes deve estar no Cache de Assembly Global, porque Dllhost.exe não é executado no mesmo diretório que contém os componentes atendidos.
Para componentes com manutenção em um aplicativo de biblioteca COM+, o tempo de execução e os serviços COM+ podem resolver a referência ao assembly que contém os componentes pesquisando no diretório atual. Nesse caso, o assembly não precisa estar no cache de assembly global.
Para componentes com manutenção em um aplicativo ASP.NET, a situação é diferente. Se você colocar o assembly que contém os componentes atendidos no diretório bin da base do aplicativo e usar o registro sob demanda, o assembly será copiado de sombra para o cache de download porque ASP.NET aproveita os recursos de sombra do tempo de execução.