Aplicando atributos dependente de versão

Se você estiver usando o .NET estrutura versão 1.1 e posterior, você pode aplicar atributos de time de design código-fonte gerenciado para ativação apropriada de tipos registrados no registro do Windows.Este tópico descreve quando aplicar o ComCompatibleVersionAttribute e TypeLibVersionAttribute atributos.

Gerado vs.GUIDs fixos

The Tipo biblioteca Exporter (Tlbexp.exe) and the Ferramenta de inscrição do assembly (regasm.exe) with the /tlb opção gerar identificadores de classe (CLSIDs) com base no número de versão de um assembly exportado para uso pelo COM.Cada nova versão de um assembly que você exporta contém os CLSIDs que são exclusivos para essa versão do assembly.Um aplicativo COM usa o CLSID para identificar uma classe ao chamar o CoCreateInstance método.

Esse comportamento é útil quando uma nova versão do assembly é incompatível com versões anteriores.Por exemplo, se um ou mais tipos são removidos do novo assembly, as versões antigas e novas são incompatíveis.

Observação:

Ao contrário de CLSIDs, identificadores de programação (ProgIDs) não são alterados com cada nova versão de um assembly.Você deve aplicar o ProgIdAttribute Para alterar manualmente um ProgID ao produzir um conjunto novo e incompatível.

No entanto, muitos assemblies são compatível com versões anteriores e seus desenvolvedores espera que aplicativos para usar a versão mais recente.Preservando os mesmos CLSIDs em várias versões de assembly (usando GUIDs fixos), aplicativos COM existentes podem consumir tipos na nova versão de um assembly sem exigir que o assembly antigo esteja disponível e sem recompilar.

ComCompatibleVersionAttribute força todos sistema autônomo CLSIDs na versão corrente do assembly mesmo que sistema autônomo CLSIDs em uma versão anterior.Para obter informações adicionais sobre como aplicar esse atributo, consulte o ComCompatibleVersionAttribute documentação de referência.

Versões da biblioteca de tipo

Um número de versão da biblioteca de tipo contém os números principais e secundários do assembly usado para produzir a ele.Por outro lado, um número de versão do assembly tem quatro partes.Duas versões de assembly completamente diferente (1.0.0.0 e 1.2.500.0) produzem automaticamente versões de biblioteca de tipo diferente (1.0 e 1.2); no entanto, versões mais detalhadamente incremento (1.2.0.0 e 1.2.500.0) ambos produzem a mesma versão de biblioteca de tipo (1) quando exportado para uso pelo COM.

TypeLibraryVersionAttribute permite que você especifique um número de versão da biblioteca de tipo explicitamente no código fonte gerenciado.Para obter informações adicionais sobre como usar esse atributo, consulte o TypeLibVersionAttribute documentação de referência.

Consulte também

Conceitos

Inicialização de tempo de execução de um aplicativo do COM

Chaves de registro dependente de versão

Configurando um aplicativo COM para execução lado a lado

Componentes COM e execução lado a por

Outros recursos

Execução lado a lado para interoperabilidade com.