Compartilhar via


Usando Conjuntos de Componentes Lado a Lado como um Recurso

Você pode adicionar um manifesto a um aplicativo como um recurso no arquivo de cabeçalho executável binário do aplicativo. O valor do MANIFEST_RESOURCE_ID determina como as dependências de assembly lado a lado descritas no manifesto são usadas pelo carregador.

Se você definir o MANIFEST_RESOURCE_ID como 1, o carregador usará as dependências de assembly lado a lado especificadas no manifesto como o padrão do processo. Todos os plug-ins também usam esse padrão de processo.

A tabela a seguir resume como o carregador usa o manifesto para valores diferentes de MANIFEST_RESOURCE_ID quando o aplicativo é compilado com o sinalizador -DISOLATION_AWARE_ENABLED. Observe que os valores de 1 a 16 são reservados para uso pelo Windows XP. Um desenvolvedor poderá usar outros valores se desejar gerenciar os contextos de ativação usando as funções descritas na Referência de Contexto de Ativação.

Valor de MANIFEST_RESOURCE_ID O manifesto especifica o padrão padrão do processo? Pode ser usado para importações estáticas? Usar um arquivo EXE? Qual é o uso de uma DLL? Usa a versão lado a lado de assemblies se compilado com -DISOLATION_AWARE_ENABLED?
1 Sim Sim Sim Não Sim
2 Não Sim Sim Sim Sim
3 Não Não Sim Sim Sim

 

MANIFEST_RESOURCE_ID 1 deve ser utilizado para aplicativos que não hospedam plug-ins. Utilize MANIFEST_RESOURCE_ID 1 quando todas as partes do aplicativo precisarem usar a versão do assembly "side-by-side" especificada no manifesto. Para obter mais informações, consulte Habilitar um assembly em um aplicativo sem extensões.

MANIFEST_RESOURCE_ID 2 deve ser usado para aplicativos que hospedam controles ou plug-ins de terceiros. Nesse caso, o manifesto afeta todos os assemblies lado a lado sendo carregados por carregamento estático, chamadas para DllMain e chamadas redirecionadas por -DISOLATION_AWARE_ENABLED. Para obter mais informações, consulte Habilitar um assembly em um aplicativo que hospeda uma DLL, extensão ou painel de controle.

MANIFEST_RESOURCE_ID 3 deve ser usado apenas para redirecionar chamadas por -DISOLATION_AWARE_ENABLED. O carregamento por outros métodos não é afetado.