Compartilhar via


Conceitos de aplicativos isolados e montagens lado a lado

Um aplicativo está sendo aplicativo isolado se todos os seus componentes são módulos lado a lado.Um assembly lado a lado é uma coleção de grupo dos recursos - um de DLL, classes do windows, servidores COM, bibliotecas de tipo, ou - que são implantados juntos e tornados disponível para um aplicativo usa em tempo de execução.Normalmente, um assembly lado a lado é um para vários DLL.

Compartilhado ou privado

Um assembly lado a lado pode ser compartilhado ou privado.Assemblies compartilhados lado a lado pode ser usado por vários aplicativos que especificam, em seus manifestos, uma dependência no assembly.As várias versões de um assembly lado a lado podem ser compartilhados por diferentes aplicativos que estão executando ao mesmo tempo.conjunto de módulos particular é um assembly que é implantado juntamente com um aplicativo para uso exclusivo do aplicativo.Conjuntos de módulos particulares são instalados na pasta que contém o arquivo executável do aplicativo ou uma de suas subpastas.

Manifestos e ordem de pesquisa

Isolados aplicativos e assemblies lado a lado são descritos por manifestos.Um manifesto é um documento XML que pode ser um arquivo externo ou pode ser inserido em um aplicativo ou em um assembly como um recurso.O arquivo de manifesto de um aplicativo isolado é usado para gerenciar os nomes e as versões de assemblies compartilhados a lado a lado que o aplicativo deve associar em tempo de execução.O manifesto de um assembly lado a lado especifica nomes, versões, recursos, e assemblies dependentes de módulos lado a lado.Para um assembly lado a lado compartilhado, o manifesto é instalado em %WINDIR% \ \ \ WinSxS manifestos pasta.No caso de um conjunto de módulos particular, recomendamos que você incluir no seu manifesto DLL como um recurso que tenha uma identificação igual a 1.Você pode também conceder ao conjunto privado o mesmo nome que o do DLL.Para obter mais informações, consulte Módulos particulares.

Em tempo de execução, informações de assembly dos usos do Windows do manifesto do aplicativo procurar e carregar o assembly lado a lado correspondente.Se um aplicativo isolado especifica uma dependência do assembly, o sistema operacional primeiro procura pelo conjunto de módulos (assembly) entre assemblies compartilhados no native assembly no WinSxS pasta %WINDIR% \ \.Necessário se o assembly não for encontrado, o sistema operacional procura em seguida por um conjunto de módulos particular em uma pasta da estrutura de diretório do aplicativo.Para obter mais informações, consulte Assembly que procura a sequência.

Alterando dependências

Você pode alterar o assembly que lado a lado as dependências após um aplicativo são implantadas alterando Arquivos de configuração de Publisher e Arquivos de configuração do aplicativo.Um arquivo de configuração do editor, também conhecido como um arquivo de política de editor, é um arquivo XML global que emite aplicativos e assemblies de usar uma versão de um assembly lado a lado para usar outra versão do mesmo assembly.Por exemplo, você pode alterar uma dependência quando uma correção de correção de erro ou de segurança é implantado para um assembly lado a lado e você deseja redirecionar todos os aplicativos usar a versão fixa.Um arquivo de configuração do aplicativo é um arquivo XML que emite um aplicativo de usar uma versão específica de um assembly lado a lado para usar outra versão do mesmo assembly.Você pode usar um arquivo de configuração do aplicativo para redirecionar um aplicativo específico para usar uma versão de um assembly lado a lado que seja diferente de aquele que é definido no arquivo de configuração do editor.Para obter mais informações, consulte Configuração.

Bibliotecas do Visual C++

No Visual Studio 2005 e Visual Studio 2008, as bibliotecas redistribuíveis como ATL, MFC, CRT, C++ padrão, OpenMP, e MSDIA são implantados como os assemblies compartilhados lado a lado para o cache nativo do assembly.No Visual Studio 2010 e Visual Studio 2012, as bibliotecas redistribuíveis usam a implantação central.Por padrão, todos os aplicativos que são criados usando Visual C++ são criados com o manifesto incorporado em binário final, e o manifesto descrevem as dependências de binário nas bibliotecas Visual C++.Para entender a geração de manifestos para aplicativos Visual C++, consulte Noções básicas sobre geração de manifesto para programas em C/C++..Um manifesto não é necessário para aplicativos que são vinculados estaticamente a bibliotecas que usam, ou usando implantação local.Para obter mais informações sobre implantação, consulte Implantação em Visual C++ 2010.

Consulte também

Outros recursos

Criação de C/C++ aplicativos isolados e montagens lado a lado