Share via


Visão geral de execução lado a lado

Execução lado a lado é a capacidade de executar várias versões de um aplicativo ou componente no mesmo computador.Você pode ter várias versões do Common linguagem tempo de execução e várias versões de aplicativos e componentes que usam uma versão do tempo de execução, no mesmo computador ao mesmo time.

A ilustração a seguir mostra vários aplicativos usando duas versões diferentes do tempo de execução no mesmo computador.Os aplicativos A, B e C usar tempo de execução versão 1.0, enquanto o aplicativo D usa tempo de execução versão 1.1.

Execução lado a lado de duas versões do tempo de execução

O .NET estrutura consiste em common linguagem tempo de execução e duas dúzias aproximadamente os assemblies que contêm os tipos de API.O tempo de execução e assemblies do .NET estrutura for feita a versão separadamente.Por exemplo, versão 1.0 do tempo de execução é realmente versão 1.0.3705.0, enquanto a versão 1.0 do assemblies do .NET estrutura versão 1.0.3300.0.

A ilustração a seguir mostra vários aplicativos usando duas versões diferentes de um componente no mesmo computador.Aplicativo A e B usam a versão 1.0 do componente enquanto o aplicativo C usa a versão 2.0 do mesmo componente.

Execução lado a lado de duas versões de um componente

Execução lado a lado lhe oferece mais controle sobre quais versões de um componente de um aplicativo vincula e mais controle sobre que versão do tempo de execução um aplicativo usa.

Benefícios da execução lado a lado

Anteriores ao Microsoft Windows XP e o .NET estrutura, conflitos de DLL ocorriam porque aplicativos não conseguiam fazer distinção entre versões incompatíveis do mesmo código.Tipo de informações contidas em uma DLL estava vinculadas apenas a um nome de arquivo.Um aplicativo não tinha como saber se os mesmos tipos de que o aplicativo foi criado com os tipos contidos em uma DLL.sistema autônomo resultado, uma nova versão de um componente poderia substituir uma aplicativos mais antigos de versão e quebra.

Execução lado a lado e o .NET estrutura fornecem os seguintes recursos para eliminar conflitos de DLL:

  • Assemblies de nomes de alta segurança.

    Execução lado a lado usa assemblys fortes para BIND informações de tipo a uma versão específica de um assembly.Isso impede que um aplicativo ou componente de vinculação a uma versão inválido de um assembly.Assemblies de nomes de alta segurança também permitem que várias versões de um arquivo existe no mesmo computador e a ser usado por aplicativos.Para obter mais informações, consulte Assemblies de Nomes Fortes.

  • Armazenamento de código com reconhecimento de versão.

    O .NET estrutura fornece armazenamento de código com reconhecimento de versão no cache de assembly global.O modelo global assembly cache é um cache do computador todo código presente em todos os computadores com o .NET estrutura instalado.Ele armazena assemblies com base no versão, cultura e informações sobre o publicador e é compatível com várias versões de componentes e aplicativos.Para obter mais informações, consulte Cache global de assemblies.

  • Isolamento.

    Usando o .NET estrutura, você pode criar aplicativos e componentes que são executados em isolamento, um componente essencial da executar lado a lado.Isolamento envolve o conhecimento dos recursos que você está usando e o compartilhamento de recursos com confiança entre várias versões de um aplicativo ou componente.Isolamento também inclui o armazenamento de arquivos de uma maneira específica à versão.Para obter mais informações sobre o isolamento, consulte Diretrizes para a criação de aplicativos e componentes para execução lado a lado.

Compatibilidade de Versão

Versões 1.0 e 1.1 do .NET estrutura foram projetadas para serem compatível entre si.Um aplicativo criado com o .NET estrutura versão 1.0 deve execute na versão 1.1 e um aplicativo criado com o .NET estrutura versão 1.1 deve ser executado na versão 1.0.No entanto, observe que API recursos adicionados na versão 1.1 do .NET estrutura não funcionará com a versão 1.0 do .NET estrutura.Aplicativos criados com a versão 2.0 será executada na versão 2.0 apenas.Aplicativos da versão 2.0 não serão executados na versão 1.1 ou anterior.See Compatibilidade de Versão Para obter uma discussão completa sobre compatibilidade de tempo de execução.

Versões do .NET estrutura são tratadas sistema autônomo uma unidade única que consiste em tempo de execução e seus assemblies do .NET estrutura associadas (um conceito conhecido sistema autônomo assembly Unificação).Você pode redirecionar assembly vinculando a incluir outras versões de assemblies do .NET estrutura, mas substituir o conjunto padrão de vinculação pode ser arriscado e deve ser rigorosamente testado antes da implantação.

Consulte também

Tarefas

Como: Usar um arquivo de configuração de aplicativo para destino uma versão do .NET estrutura

Outros recursos

Execução Lado a Lado

Conceitos básicos de execução lado a lado

Criando várias versões de um aplicativo ou componente