Compartilhar via


Pacotes de arquitetura C++ Runtime para Bridge de Ambiente de Trabalho

Este artigo descreve como criar um contentor de Bridge de Ambiente de Trabalho que inclui as bibliotecas C++ Runtime corretas.

Versão original do produto: Windows 10
Número original da BDC: 3176696

Resumo

As aplicações de ambiente de trabalho do Windows que tenham uma dependência nas bibliotecas de Runtime C++ têm de especificar a versão correspondente do pacote de arquitetura C++ Runtime para a Bridge de Ambiente de Trabalho durante a criação do pacote de aplicação. Isto tem de ser feito em vez de apenas redistribuir as bibliotecas de Runtime C++ incluídas no Visual Studio ou no Visual C++ Runtime redistributable (VCRedist). As aplicações de ambiente de trabalho do Windows executadas num contentor de Bridge de Ambiente de Trabalho não podem utilizar as bibliotecas de Runtime C++ incluídas no Visual Studio ou no VCRedist. Uma aplicação em execução num contentor de Bridge de Ambiente de Trabalho e que utiliza uma versão incorreta das bibliotecas de runtime C++ pode falhar quando tenta aceder a recursos como o sistema de ficheiros ou o registo. Este artigo aborda como criar um contentor de Bridge de Ambiente de Trabalho que inclui as bibliotecas C++ Runtime corretas.

Como instalar e atualizar pacotes de arquitetura de ambiente de trabalho

A Microsoft fornece pacotes de arquitetura C++ Runtime para permitir que as aplicações referenciem o runtime C++ a partir de aplicações de ambiente de trabalho distribuídas através da Loja Windows. Estes pacotes são distribuídos e atualizados através da Loja Windows e são processados de forma semelhante aos pacotes de arquitetura C++ UWP.

Para fins de desenvolvimento, a versão atual (v14.0) dos pacotes appx de depuração e revenda está incluída no Visual Studio 2022 quando escolhe a carga de trabalho Desenvolvimento da Plataforma Universal do Windows com o componente opcional de Ferramentas Universais do Windows C++ (v143 ). Os pacotes podem ser encontrados em %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0.

Observação

As seguintes ligações de transferência de pacotes foram preteridas e poderão já não funcionar no futuro. Certifique-se de que utiliza o método descrito acima para obter os pacotes de arquitetura.

Pacotes de arquitetura de Ambiente de Trabalho Legados

Os pacotes de arquitetura C++ Runtime mais antigos para aplicações de ambiente de trabalho, v11.0 e v12.0, podem ser transferidos e instalados a partir destas localizações:

Os pacotes de arquitetura C++ Runtime serão copiados para uma subpasta em %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop. Pode instalar os pacotes manualmente com o cmdlet do Add-AppxPackage PowerShell.

Como referenciar os pacotes de arquitetura de Ambiente de Trabalho

No ficheiro AppxManifest.xml da sua aplicação, especifique um PackageDependency valor que corresponda ao pacote de arquitetura adequado:

  • Versão 11.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
    </Dependencies>
    
  • Versão 12.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
        <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    </Dependencies>
    
  • Versão 14.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    </Dependencies>
    

A aplicação irá agora instalar os DLLs do C++ Runtime a partir do pacote de dependência quando for implementado.

Referências

Utilizar o Visual C++ Runtime no projeto Centennial