Partilhar via


Interoperabilidade COM sem registo

A interoperabilidade COM sem registro ativa um componente sem usar o registro do Windows para armazenar informações de assembly. Em vez de registrar um componente em um computador durante a implantação, você cria arquivos de manifesto no estilo Win32 em tempo de design que contêm informações sobre vinculação e ativação. Esses arquivos de manifesto, em vez de chaves de registro, direcionam a ativação de um objeto.

Usar a ativação sem registro para seus assemblies em vez de registrá-los durante a implantação oferece duas vantagens:

  • Você pode controlar qual versão da DLL é ativada quando mais de uma versão é instalada em um computador.

  • Os usuários finais podem usar XCOPY ou FTP para copiar seu aplicativo para um diretório apropriado em seus computadores. O aplicativo pode então ser executado a partir desse diretório.

Esta seção descreve os dois tipos de manifestos necessários para interoperabilidade COM sem registro: manifestos de aplicativo e de componentes. Esses manifestos são arquivos XML. Um manifesto de aplicativo, que é criado por um desenvolvedor de aplicativo, contém metadados que descrevem assemblies e dependências de assembly. Um manifesto de componente, criado por um desenvolvedor de componente, contém informações localizadas no registro do Windows.

Requisitos para a interoperabilidade COM sem registo

  1. O suporte para interoperabilidade COM sem registro varia ligeiramente dependendo do tipo de montagem da biblioteca; especificamente, se o assembly não é gerenciado (COM lado a lado) ou gerenciado (. NET-based). A tabela a seguir mostra os requisitos de versão do sistema operacional e do .NET Framework para cada tipo de assembly.

    Tipo de montagem Sistema operativo Versão do .NET Framework
    COM lado a lado Microsoft Windows XP Não necessário.
    . Baseado em NET Windows XP com SP2 NET Framework versão 1.1 ou posterior.

    A família Windows Server 2003 também oferece suporte à interoperabilidade COM sem registro para . Assemblies baseados em NET.

    Para um . NET para ser compatível com a ativação sem registro de COM, a classe deve ter um construtor sem parâmetros e deve ser pública.

Configurando componentes COM para ativação sem registro

  1. Para que um componente COM participe da ativação sem registro, ele deve ser implantado como um assembly lado a lado. Os assemblies lado a lado são assemblies não gerenciados. Para obter mais informações, consulte Usando assemblies lado a lado.

    Para usar montagens COM lado a lado, um arquivo . O desenvolvedor de aplicativos baseado em NET deve fornecer um manifesto do aplicativo, que contém as informações de vinculação e ativação. O suporte para assemblies lado a lado não gerenciados está integrado ao sistema operacional Windows XP. O tempo de execução COM, suportado pelo sistema operacional, verifica um manifesto do aplicativo em busca de informações de ativação quando o componente que está sendo ativado não está no Registro.

    A ativação sem registro é opcional para componentes COM instalados no Windows XP. Para obter instruções detalhadas sobre como adicionar um assembly lado a lado a um aplicativo, consulte Usando assemblies lado a lado.

    Nota

    A execução lado a lado é um recurso do .NET Framework que permite que várias versões do tempo de execução e várias versões de aplicativos e componentes que usam uma versão do tempo de execução sejam executadas no mesmo computador ao mesmo tempo. A execução lado a lado e as montagens lado a lado são mecanismos diferentes para fornecer funcionalidade lado a lado.

Consulte também