Conceitos de aplicativos isolados e montagens lado a lado
Um aplicativo é considerado um aplicativos isolados se todos os seus componentes estiverem conjuntos lado a lado.Um assembly lado a lado é uma coleção de recursos — um agrupar de DLLs, classes de janelas, servidores COM, bibliotecas de tipos ou interfaces — disponível para um aplicativo para usar em tempo de execução.Normalmente, um assembly lado a lado é uma a diversas DLLs.Por exemplo, o assembly de biblioteca C tempo de execução Library contém três DLLs—msvcr90.dll, msvcm90.dll e msvcp90.dll—and é usado por aplicativos quando eles são criados usando funções da biblioteca CRT.
Um assembly lado a lado pode ser compartilhado ou particular.Conjuntos lado a lado compartilhados pode ser usado por vários aplicativos que especificar, em seus manifestos, uma dependência no conjunto de módulos (assembly).Várias versões de módulos (assemblies) lado a lado podem ser compartilhados por diferentes aplicativos em execução ao mesmo time.A assembly particular é um assembly é implantado com um aplicativo e está disponível para o uso exclusivo do aplicativo.particular assemblies estão instalados na pasta contendo arquivo executável do aplicativo ou uma de suas subpastas.
Ambos os aplicativos isolados and conjuntos lado a lado são descritos por manifestos.Um manifesto é um documento XML que pode ser um arquivo XML externo ou incorporado dentro de um aplicativo ou um assembly sistema autônomo um recurso.O arquivo de manifesto de um aplicativo isolado é usado para gerenciar os nomes e versões compartilhada assemblies lado a lado para os quais o aplicativo deve BIND em time de execução.O manifesto de um assembly lado a lado especifica nomes, versões, recursos e assemblies dependentes de módulos (assemblies) lado a lado.Para um assembly lado a lado compartilhado, seu manifesto é instalado na pasta WinSxS\Manifests.No caso de um assembly privado, ele é recomendado para incluir seu manifesto na DLL sistema autônomo um recurso com ID igual a 1 e o nome do assembly particular pode ser igual ao nome da DLL.Para obter mais informações, consulte Conjuntos particulares.
No time de execução, o Windows usa informações de assembly do manifesto do aplicativo para pesquisar e carregar o assembly lado a lado correspondente.Se um aplicativo isolado Especifica uma dependência de assembly, o sistema operacional procura primeiro o assembly entre os assemblies compartilhados na pasta WinSxS.Se o conjunto de módulos (assembly) não for encontrado, o sistema operacional, em seguida, procura um assembly particular instalado em uma pasta da estrutura de diretório do aplicativo.Para obter mais informações, consulte sequência de pesquisa de assembly.
É possível alterar as dependências de assembly lado a lado, depois de um aplicativo foi implantado, modificando o Arquivos de configuração do publicador and Arquivos de configuração do aplicativo.Um arquivo de configuração do publicador, também chamado de arquivo de diretiva de publicador, é um arquivo XML que redireciona globalmente aplicativos e conjuntos de usar uma versão de um assembly lado a lado para outra versão do mesmo conjunto de módulos (assembly).Um mercadoria exemplo quando alterar a dependência pode ser usado é quando uma correção de erros ou correção de segurança é implantada para um determinado assembly lado a lado e um publicador deste assembly gostaria redirecionar todos os aplicativos para usar a nova versão do assembly.Um arquivo de configuração do aplicativo é um arquivo XML que redireciona um aplicativo específico de usar uma versão de um assembly lado a lado para outra versão do mesmo conjunto de módulos (assembly).Ele pode ser usado para redirecionar um aplicativo específico para usar uma versão de um assembly lado a lado diferente daquele definido no arquivo de configuração global o publicador.Para obter mais informações, consulte Configuração.
In Visual C++ 2005, bibliotecas sistema autônomo ATL, MFC, CRT, Standard C++, OpenMP e MSDIA são implantadas sistema autônomo assemblies lado a lado compartilhados para o nativo assembly cache. Por padrão, todos os aplicativos criados com Visual C++ 2005 são criados com o manifesto incorporado dentro do binário final, que descreve as dependências deste binário em bibliotecas Visual C++. Para entender a geração de manifesto para aplicativos do Visual C++, consulte Noções básicas sobre geração de manifesto para programas de C/C ++
Desenvolvimento C/C ++ isolada de aplicativos e assemblies lado a lado