Partilhar via


Como: Configurar componentes baseados em .NET para a ativação do inscrição de chumbo

Ativação disponível de inscrição de componentes baseados em .NET é apenas um pouco mais complicado que para componentes COM.A instalação requer dois manifestos:

  • Aplicativos COM devem ter um manifesto do aplicativo do estilo do Win32 para identificar o componente gerenciado.

  • Componentes baseados em .NET devem ter um manifesto do componente para obter informações de ativação necessárias em time de execução.

Este tópico descreve como associar um manifesto do aplicativo a um aplicativo; associar um manifesto do componente um componente; e incorporar um manifesto do componente em um assembly.

Para criar um manifesto do aplicativo

  1. Usando um editor XML, criar ou modificar o manifesto do aplicativo pertencente ao aplicativo do COM interoperar com um ou mais componentes gerenciado.

  2. Insira o seguinte cabeçalho padrão no início do arquivo:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    

    Para obter informações sobre manifesto elementos e seus atributos, procure por "aplicativo manifestos Reference" no Biblioteca MSDN.

  3. Identifique o proprietário do manifesto.No exemplo a seguir, myComApp versão 1 possui o arquivo de manifesto.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myComApp" 
                        version="1.0.0.0" 
                        processorArchitecture="x86" 
      />
    
  4. Identifica conjuntos de módulos dependentes.No exemplo a seguir, myComApp depende myManagedComp.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myComApp" 
                        version="1.0.0.0" 
                        processorArchitecture="x86" 
                        publicKeyToken="8275b28176rcbbef"
      />
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myManagedComp" 
                        version="6.0.0.0" 
                        processorArchitecture="X86" 
                        publicKeyToken="8275b28176rcbbef"
                        language="*"
          />
        </dependentAssembly>
      </dependency>
    </assembly>
    
  5. salvar e nomeie o arquivo de manifesto.O nome de um manifesto do aplicativo é o nome do assembly executável seguido por extensão .manifest.Por exemplo, nome de arquivo de manifesto do aplicativo para myComApp.exe é myComApp.exe.manifest.

Você pode instalar um manifesto do aplicativo no mesmo diretório do aplicativo COM.sistema autônomo alternativa, você pode adicioná-lo sistema autônomo um recurso para arquivo .exe do aplicativo.Para obter informações adicionais, procure por "conjuntos lado a lado" na biblioteca MSDN.

Para criar um manifesto do componente

  1. Usando um editor de XML criar um manifesto do componente para descrever o assembly gerenciado.

  2. Insira o seguinte cabeçalho padrão no início do arquivo:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    
  3. Identifique o proprietário do arquivo.The <assemblyidentity> elemento de do <dependentassembly> elemento no arquivo de manifesto do aplicativo deve corresponder no manifesto do componente.No exemplo a seguir, myManagedComp versão 1.2.3.4 seja o proprietário do arquivo de manifesto.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
           <assemblyIdentity
                        name="myOrganization.myDivision.myManagedComp"
                        version="1.2.3.4" />
                        publicKeyToken="8275b28176rcbbef"
    
  4. Identifica cada classe no conjunto de módulos (assembly).Use o <clrclass> elemento para identificar exclusivamente cada classe no conjunto de módulos (assembly) gerenciado.O elemento, que é um subelemento do <assembly> elemento, tem os atributos descritos na tabela a seguir.

    Atributo

    Descrição

    Necessário

    CLSID

    O identificador que especifica a classe a ser ativado.

    Sim

    description

    Uma seqüência de caracteres que informa ao usuário sobre o componente.Uma seqüência de caracteres vazia é o padrão.

    Não

    name

    Uma seqüência de caracteres que representa a classe gerenciada.

    Sim

    ProgID

    O identificador a ser usada para ativação de ligação tardia.

    Não

    threadingModel

    O modelo de segmentação COM."Ambos" é o valor padrão.

    Não

    runtimeVersion

    Esse atributo é ignorado.Se o tempo de execução já não estiver carregado, a versão mais recente está carregada antes que a classe é ativada.Caso contrário, a versão atualmente carregada é usada.

    Não

    tlbid

    O identificador da biblioteca de tipos que contém informações de tipo sobre a classe.

    Não

    Todas as Rótulos de atributo diferenciam diferenciar maiúsculas de minúsculas.Você pode obter CLSIDs, ProgIDs, threading modelos e a versão de tempo de execução, exibindo a biblioteca de tipos exportada para o assembly com o OLE/COM ObjectViewer (Oleview.exe).

    Manifesto do componente a seguir identifica uma classe única com dois métodos.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
           <assemblyIdentity
                        name="myOrganization.myDivision.myManagedComp"
                        version="1.2.3.4" />
                        publicKeyToken="8275b28176rcbbef"
           <clrClass
                        clsid="{65722BE6-3449-4628-ABD3-74B6864F9739}"
                        progid="myManagedComp.testClass1"
                        threadingModel="Both"
                        name="myManagedComp.testClass1"
                        runtimeVersion="v1.0.3705">
           </clrClass>
           <clrClass
                        clsid="{367221D6-3559-3328-ABD3-45B6825F9732}"
                        progid="myManagedComp.testClass2"
                        threadingModel="Both"
                        name="myManagedComp.testClass2"
                        runtimeVersion="v1.0.3705">
           </clrClass>
           <file name="MyManagedComp.dll">
           </file>
    </assembly>
    
  5. salvar e nomeie o arquivo de manifesto.O nome de um manifesto do componente é o nome da biblioteca de assembly seguido por extensão .manifest.Por exemplo, o myManagedComp.dll é myManagedComp.manifesto.

Você deve incorporar o manifesto do componente sistema autônomo um recurso no conjunto de módulos (assembly).

Para incorporar um manifesto do componente em um assembly gerenciado

  1. Crie um script de recurso que contém a demonstrativo a seguir:

    RT_MANIFEST 1 myManagedComp.manifest

    Nesta demonstrativo, myManagedComp.manifest o nome do manifesto do componente está sendo incorporado. Para esse exemplo, nome de arquivo de script é myresource.rc.

  2. compilar o script usando o Microsoft Windows recurso Compiler (rc.exe).No prompt de comando, digite o seguinte comando:

    rc myresource.rc

    Rc.exe produz o myresource.res arquivo de recurso.

  3. Compilar arquivo de fonte do assembly novamente e especifique o arquivo de recurso usando o /win32res opção:

    /win32res:myresource.res
    

    Novamente, myresource.res é o nome do arquivo de recurso contendo recursos incorporados.

Consulte também

Conceitos

Requisitos para inscrição-disponível interoperabilidade COM

Configurando componentes COM para a ativação do inscrição de chumbo

Outros recursos

inscrição-disponível interoperabilidade COM